ULCO 2019 - 2020
L2 Math´ematiques Informatique
TP 5 – Arbres binaires Exercice 1.
1. Cr´eer une structureArbreen C++permettant de repr´esenter un arbre binaire ayant des noeuds ´etiquett´es par des entiers.
2. Cr´eer l’arbre binaire T suivant :
8 5
7 21
8 16
23 9 11
17
Exercice 2.
1. A la main, faire le parcours pr´efix´e de T. Ecrire une fonction permettant d’afficher les noeuds d’unArbrelors d’un parcous pr´efix´e.
2. A la main, faire le parcours infix´e de T. Ecrire une fonction permettant d’afficher les noeuds d’unArbrelors d’un parcous infix´e.
3. A la main, faire le parcours postfix´e de T. Ecrire une fonction permettant d’afficher les noeuds d’unArbrelors d’un parcous postfix´e.
Exercice 3.
1. Ecrire une fonction comptant le nombre de noeuds d’unArbre.
2. Ecrire une fonction comptant le nombre de feuilles d’unArbre.
3. Ecrire une fonction comptant le nombre de noeuds internes d’unArbre.
Exercice 4.
1. Ecrire une fonction qui d´etermine la hauteur d’un Arbre.
2. Ecrire une fonction qui compte le nombre de noeuds `a la profondeurpdans un Arbre.
3. Ecrire une fonction qui affiche les noeuds `a la profondeurpd’un Arbre.
Exercice 5.
1. Ecrire une fonction qui teste si unArbre est plein.
2. Ecrire une fonction qui teste si unArbre est complet.
Un arbre est dit ´equilibr´e si en tout noeud la diff´erence de hauteur entre ses sous-arbres est d’au plus 1.
3. Ecrire une fonction testant si unArbre est equilibr´e.