Lire un arbre
Exercice · niveau 2 · informatique (MP2I/MPI), chapitre 10 — Arbres
Énoncé
Soit l'arbre
let a = Noeud (Noeud (Noeud (Vide, 1, Vide), 3,
Noeud (Noeud (Vide, 4, Vide), 6, Vide)),
8,
Noeud (Noeud (Vide, 7, Vide), 9, Vide))
Donner sa taille, sa hauteur, le nombre de ses feuilles et de ses nœuds internes, la profondeur de chaque étiquette, et le nombre de nœuds par niveau. Vérifier l'encadrement du cours.
Corrigé
Les comptes, tous vérifiés par le calcul :
| taille | |
|---|---|
| hauteur | |
| feuilles | \ \ (les étiquettes , , ) |
| nœuds internes | \ \ (les étiquettes , , , ) |
| nœuds à deux fils non vides | \ \ (les étiquettes et ) |
Les profondeurs : à la profondeur ; et à ; , et à ; à . La hauteur est la plus grande d'entre elles, soit .
Les niveaux, et la comparaison avec le maximum :
| niveau | ||||
|---|---|---|---|---|
| nœuds | ||||
| au plus |
Les deux premiers niveaux sont pleins, les deux derniers non : l'arbre n'est pas complet.
L'encadrement du cours, , donne ici . Il est vérifié, et lâche des deux côtés : cet arbre n'est ni un peigne () ni un arbre parfait (). Il est exactement au milieu.
Trois remarques de lecture qui servent tout le chapitre.
Un. . La partition est complète par définition : un nœud a ses deux fils vides, ou pas.
Deux. et : on retrouve , l'identité démontrée par induction au chapitre chap:induction. Elle ne dépend ni de la forme ni de la taille de l'arbre — c'est ce qui en fait un invariant utile pour déboguer un constructeur d'arbres.
Trois. La somme des profondeurs vaut , soit une profondeur moyenne de . C'est cette moyenne, et non la hauteur, qui gouverne le coût d'une recherche sur une clé tirée au hasard — une distinction dont on reparlera au chapitre chap:tas.
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.