• Aucun résultat trouvé

2010-2011 /// Structures de données Durée : 1H30 /// Barème : 8 + 6 + 6

N/A
N/A
Protected

Academic year: 2022

Partager "2010-2011 /// Structures de données Durée : 1H30 /// Barème : 8 + 6 + 6"

Copied!
1
0
0

Texte intégral

(1)

2010-2011 /// Structures de données Durée : 1H30 /// Barème : 8 + 6 + 6 Arbre de recherche binaire

Donner l’algorithme qui transforme un arbre de recherche binaire A en une liste linéaire chainée de la manière suivante :

1. Tant que le fils gauche de A est différent de Nil faire une rotation droite de A 2. Passer au fils droit de A (A := Fd(A) )

3. Si A <> Nil Reprendre à partir de 1 La figure suivante montre un exemple.

L’algorithme déterminera aussi le nombre d’éléments de l’arbre.

Hachage

Considérer les méthodes : -essai linéaire et chainage interne.

Pour l’essai linéaire on prendra la table Tab1[0..6] avec la fonction de hachage h(x) = x mod 7

Pour le chainage interne on prendra la table Tab2[0..7]avec la fonction h(x) = x mod 7 + 1. La position 0 est non utilisée. En cas de collision, l’espace est recherché à partir de la position R du tableau (R=7 au départ).

Pour les deux méthodes, chaque case du tableau peut contenir 2 éléments.

Considérer les données 22, 0, 45, 1, 11, 3, 10, 6, 13, 14, 20, 5 Remplir les tables Tab1 et Tab2

Donner le nombre moyen de comparaisons pour trouver chaque élément du tableau (pour chaque méthode).

Fichier

Soient n et m les adresses de deux blocs consécutifs d’un fichier TOF (Tableau Ordonné Fixe).

La structure d’un bloc est définie comme suit : Type typebuffer=structure

Nb : entier // Nombre d’article dans le bloc Tab : tableau[1..B] de type_article

Fin

Type type_article=entier

Equilibrer le nombre d’articles dans les deux blocs en utilisant que deux buffers en mémoire. Quel est le coût de cette opération.

Références