Adloun

Fils gauche, frère droit : ce que la conversion préserve et ce qu'elle déforme

Exercice · niveau 2 · informatique (MP2I/MPI), chapitre 10 — Arbres

Énoncé

Convertir en arbre binaire l'arbre général dont la racine a trois fils , , , et où a lui-même deux fils et . Que deviennent la taille et la hauteur ?

Corrigé

La règle du cours : le fils gauche du binaire est le premier fils du général ; le fils droit est le frère suivant.

Les mesures.

arbre généralbinaire équivalent
taille
hauteur

La taille est conservée, et c'est immédiat : la conversion crée exactement un nœud binaire par nœud général, sans en perdre ni en ajouter. La preuve se fait par induction sur l'arbre général, avec le lemme correspondant sur les listes de frères.

La hauteur ne l'est pas, et elle ne peut qu'augmenter. Ici elle passe de à . La raison se lit sur le dessin : les frères , , , qui étaient au même niveau, sont devenus une chaîne descendante. Une fratrie de frères devient un peigne droit de hauteur , ce qui est exactement le cas dégénéré du chapitre.

Le pire cas est donc frappant : un arbre général de hauteur à fils — une « étoile » — devient un binaire de hauteur . La conversion transforme la structure la plus plate en la plus profonde.

Ce qu'on gagne quand même, et pourquoi le programme la demande. Un seul type de données, donc un seul jeu d'algorithmes : les parcours, la sérialisation, la comparaison s'écrivent une fois pour les arbres binaires et servent pour tous les arbres. Et le codage est sans perte : la conversion est bijective, on retrouve l'arbre général à partir du binaire.

Ce qu'on perd, et il faut le savoir avant de l'utiliser. Toute borne exprimée en fonction de la hauteur — et elles le sont toutes dans ce chapitre — se dégrade. Un algorithme en sur le binaire n'est pas en sur le général. La conversion est un outil de programmation, pas un outil d'analyse de complexité.

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.