Sunteți pe pagina 1din 2

Dpartement dInformatique U.S.T.H.B.

2012/2013
ALGO L2 ACAD B C. IGHILAZA

Srie 7 : LES ARBRES

Exercice 1 : Dessinez l'arbre binaire dont la racine se trouve l'indice 6 du


tableau de reprsentation suivant:
Indice Cl Gauche Droit
1 12 7 3
2 17 8 NULL
3 15 NULL NULL
4 24 5 9
5 21 NULL NULL
6 18 1 4
7 4 NULL 10
8 14 6 2
9 47 NULL NULL
10 5 NULL NULL

a. Donnez les valeurs des noeuds selon les parcours infix et postfix.
b. Cet arbre est-il quilibr? Justifiez votre rponse.

Exercice 2 :
a) Construire larbre binaire de recherche correspondant lensemble des valeurs
suivantes {21, 9, 4, 25, 7, 12, 3, 10, 19, 29, 17, 6, 26, 18} donne dans cet ordre
puis afficher le rsultat de son parcours infix.
b) Donner la liste des cls parcourues durant la recherche de la cl 15.
c) Dessiner larbre successivement aprs les oprations suivantes :
- insertion de 15
- suppression de 21
- suppression de 4
d) Soit L une liste de cls (entiers alatoirement mis dans L). En utilisant la fonction
void Insert (arbre *A, int Key) qui insert la cl Key dans larbre de racine A,
crire une fonction rcursive qui insert toutes les valeurs de L dans cet arbre.

Exercice 3 : Soit donne une pile d'entiers. Chaque entier est le code isbn d'un livre.
On suppose que la fonction Insert d'insertion dans un arbre binaire de recherche, et les
fonctions qui manipulent la pile sont prdfinies (ne pas les rcrire).
Rappel: void Insert (arbre * racine, Typelem val);
a) Donner la dclaration de l'arbre binaire.
b) En utilisant la fonction Insert, crire une fonction ConstArbre qui construit un
arbre binaire de recherche partir des codes isbn contenus dans la pile.
Prototype: arbre ConstArbre (Pile).
c) Ecrire une fonction rcursive quivalente la fonction prcdente.

1
Dpartement dInformatique U.S.T.H.B. 2012/2013
ALGO L2 ACAD B C. IGHILAZA

Exercice 4 :
Soit un arbre binaire de recherche contenant des valeurs entires, crire les fonctions
rcursives suivantes :
a) Compter le nombre de nuds de larbre.
b) Compter le nombre de niveaux de larbre (Pour cela il faut compter les niveaux
du SAG, ensuite les niveaux du SAD, comparer les deux et garder le plus grand,
puis ajouter 1 car il faut compter le niveau du nud racine).

Exercice 5:
Ecrire une fonction rcursive qui affecte chaque nud dun arbre binaire donn la
profondeur de ce nud. La profondeur de la racine vaut 0, la profondeur dun nud fils
de la racine vaut 1, la profondeur dun nud fils du fils de la racine vaut 2, ainsi de
suite.

Exercice 6:
Soient deux arbres binaires de recherche dentiers A1 et A2. Ecrire une fonction
rcursive qui vrifie si les deux arbres sont identiques (contiennent les mme valeurs
c.--d. sont gaux)

S-ar putea să vă placă și