Terminale · Structures de données

Arbres et arbres binaires : représenter une hiérarchie

Un dossier contenant des sous-dossiers, une expression arithmétique ou un tournoi possède une organisation hiérarchique. Un arbre représente cette structure. Sa forme compte autant que son nombre d’éléments : sept nœuds peuvent occuper trois niveaux ou sept.

SofienAvec SofienIngénieur et enseignant en informatique
Dans ce chapitre

Un cap pour ce chapitre

Ce que vous saurez faire

  • Identifier racine, nœuds, feuilles et sous-arbres.
  • Distinguer arbre général et arbre binaire.
  • Calculer taille et hauteur selon une convention explicite.
Les bases utiles pour commencer

Une racine et des descendants

Un arbre enraciné organise des nœuds à partir d’une racine. Chaque nœud autre que la racine possède un parent unique. Les liens conduisent vers des enfants ; une feuille est un nœud sans enfant. Les descendants d’un nœud, avec ce nœud lui-même, forment un sous-arbre.

Une même notion peut être représentée par un graphe dans un autre contexte, mais un arbre impose une hiérarchie particulière. Si un élément possède deux parents ou qu’un lien ramène à un ancêtre, la représentation ne correspond plus à l’arbre enraciné simple étudié ici. Le chemin depuis la racine vers un nœud est unique.

Un arbre représente une relation hiérarchique déterminée : « contient directement », « est une sous-partie de » ou « résulte de cette décision ». Cette relation doit rester la même sur tout le schéma. Un dossier partagé par deux parents ne correspond pas à l’arbre simple annoncé. Le modèle peut alors nécessiter un graphe ou une duplication explicitement choisie, selon la question.

Deux positions d’enfants bien distinguées

Dans un arbre binaire, chaque nœud dispose au plus d’un enfant gauche et d’un enfant droit. Les deux positions ont un sens : un nœud avec seulement un enfant gauche n’a pas la même structure qu’un nœud avec seulement un enfant droit. « Binaire » ne signifie pas que chaque nœud possède exactement deux enfants.

On peut représenter un arbre binaire par des objets contenant valeur, gauche et droite, ou par une structure récursive utilisant des tuples. L’absence de sous-arbre doit être codée sans ambiguïté, par exemple avec None. La représentation choisie détermine ensuite la façon d’écrire les parcours et les calculs.

Mesurer sans confondre taille et hauteur

La taille est le nombre de nœuds. La hauteur mesure le plus long chemin de la racine à une feuille. Dans cette page, elle compte les arêtes : une racine seule a hauteur 0 et un arbre vide hauteur -1 par convention de calcul. Certains cours comptent les nœuds du chemin : toutes les hauteurs non vides sont alors augmentées de 1.

Annoncez la convention avant de comparer deux réponses. Pour un arbre de racine A avec deux feuilles B et C, la taille vaut 3 et la hauteur en arêtes vaut 1. Le nombre de feuilles vaut 2 : aucune de ces quantités ne doit être utilisée à la place des autres.

La profondeur d’un nœud est sa distance depuis la racine en nombre d’arêtes. La hauteur de l’arbre est la plus grande profondeur rencontrée. Une feuille peut se trouver à une profondeur inférieure à cette hauteur : elle se définit par l’absence d’enfant, pas par sa position sur le dernier niveau dessiné.

Encadrer la hauteur et comprendre la forme

Pour n nœuds non vides, la plus grande hauteur possible est n - 1 : tous les nœuds sont en chaîne. À hauteur h, un arbre binaire contient au plus 1 + 2 + … + 2^h = 2^(h+1) - 1 nœuds. Cela donne une borne inférieure sur la hauteur : plafond(log₂(n + 1)) - 1.

Un arbre rempli niveau par niveau atteint cette petite hauteur ; une chaîne atteint la plus grande. Ces formes n’ont pas les mêmes conséquences sur les parcours de recherche. L’atelier compare les extrêmes sans assimiler tous les arbres binaires à des arbres de recherche : l’ordre des valeurs est une propriété supplémentaire.

Exemple suivi : calculer de bas en haut

A possède B à gauche et C à droite ; B possède D à droite ; C possède E à gauche et F à droite. Les feuilles D,E,F ont chacune taille 1 et hauteur 0. B a taille 2 et hauteur 1 ; C a taille 3 et hauteur 1. A a donc taille 1+2+3=6 et hauteur 1+max(1,1)=2.

Ces calculs utilisent deux relations : taille d’un arbre non vide = 1 plus les tailles de ses sous-arbres, hauteur = 1 plus la plus grande des hauteurs des sous-arbres. L’arbre vide a taille 0 et hauteur -1 dans notre convention, ce qui rend la formule correcte pour une feuille. Il n’est pas nécessaire de confondre les deux opérations : les tailles s’additionnent, tandis que seule la branche la plus profonde détermine la hauteur.

Utiliser les bornes pour contrôler un dessin

À hauteur 2, un arbre binaire contient au plus 1+2+4=7 nœuds. Un dessin annonçant huit nœuds et hauteur 2 est donc impossible. À hauteur 3, il peut contenir de 4 nœuds en chaîne jusqu’à 15 si tous les niveaux sont remplis. La même hauteur n’impose donc ni une taille précise ni un nombre précis de feuilles.

Pour huit nœuds, la hauteur minimale est 3 et la maximale 7. Un arbre rempli niveau par niveau atteint la première ; une chaîne atteint la seconde. Ce contraste montre pourquoi connaître seulement le nombre de données ne suffit pas à prévoir la longueur des chemins. Enfin, les valeurs peuvent apparaître dans n’importe quel ordre dans un arbre binaire général. Les règles de comparaison d’un arbre binaire de recherche constituent des contraintes supplémentaires étudiées séparément.

À vous de faire varier les choses

Même taille, autre silhouette

Faites varier le nombre de nœuds et passez d’un remplissage par niveaux à une chaîne. La hauteur est comptée en arêtes.

Lire le résultat de l’expérience initiale

Taille 7, hauteur 2 arête(s).

Les numéros identifient les nœuds ; ils ne définissent pas un arbre de recherche. L’arbre vide a hauteur -1 dans cette convention.

NœudProfondeurGaucheDroite
0012
1134
2156
32videvide
42videvide
52videvide
62videvide

Une taille identique peut produire des hauteurs et des chemins de recherche très différents.

De la compréhension à l’autonomie

À vous de résoudre

Cherchez d’abord par vous-même. Vérifiez les résultats demandés, utilisez les indices si nécessaire, puis comparez votre méthode à la correction.

Exercice 1 · Comprendre#

Une petite famille de nœuds

A a pour enfants B et C ; B a pour enfant D ; C et D n’ont pas d’enfant. Donnez racine, feuilles et taille.

Indice 1

La racine n’a pas de parent.

Indice 2

Une feuille n’a aucun enfant, même si elle n’est pas au dernier niveau global.

Comprendre la correction

La racine est A. Les feuilles sont C et D. La taille est 4, car A, B, C et D sont des nœuds. C est une feuille malgré sa profondeur plus petite que celle de D : le critère est l’absence d’enfant.

Exercice 2 · Appliquer#

Une convention de hauteur

Pour l’arbre précédent, donnez la hauteur en arêtes puis en nœuds. Quel chemin permet de la déterminer ?

Indice 1

Le chemin le plus long est A, B, D.

Indice 2

Comptez séparément les nœuds et les liens.

Comprendre la correction

Le chemin A → B → D contient trois nœuds et deux arêtes. La hauteur vaut donc 2 dans la convention du cours et 3 si l’on compte les nœuds. Les deux réponses peuvent décrire le même arbre lorsque la convention est explicitée.

Exercice 3 · Corriger#

Binaire ne veut pas dire complet

Un élève refuse de qualifier de binaire un arbre dont chaque nœud possède au plus un enfant. Sa conclusion est-elle correcte ?

Indice 1

La définition utilise « au plus deux ».

Indice 2

Un emplacement d’enfant peut être vide.

Comprendre la correction

Non. Une chaîne peut être un arbre binaire si chaque lien est identifié comme gauche ou droit. Un nœud peut avoir zéro, un ou deux enfants. L’obligation de remplir tous les emplacements concerne des propriétés supplémentaires, pas la définition générale d’arbre binaire.

Exercice 4 · Justifier#

Sept nœuds, quelles hauteurs ?

Donnez les hauteurs minimale et maximale en arêtes pour un arbre binaire de sept nœuds. Décrivez une forme qui atteint chacune.

Indice 1

Trois niveaux peuvent contenir 1 + 2 + 4 nœuds.

Indice 2

Une chaîne relie successivement les sept nœuds.

Comprendre la correction

La hauteur minimale est 2, atteinte par un arbre rempli sur trois niveaux. La hauteur maximale est 6, atteinte par une chaîne. Le nombre de nœuds seul ne détermine donc pas la hauteur ; la répartition des enfants joue un rôle essentiel.

Exercice 5 · Approfondir et transférer#

Calculer plusieurs mesures

A a B et C comme enfants ; B a D comme enfant droit ; C a E et F ; D,E,F sont feuilles. Donnez taille, feuilles, hauteur en arêtes et profondeur de D. Calculez aussi la taille du sous-arbre C.

Indice 1

Additionnez les tailles des branches.

Indice 2

Le plus long chemin contient trois nœuds.

Comprendre la correction

La taille vaut 6, les feuilles sont D,E,F, la hauteur vaut 2 et la profondeur de D vaut 2. Le sous-arbre C contient C,E,F, donc taille 3. Les trois feuilles ne sont pas une hauteur : ces quantités décrivent des propriétés différentes.

Exercice 6 · Approfondir et transférer#

Un arbre impossible

Un élève dessine un arbre binaire de hauteur 2 en arêtes et affirme qu’il contient huit nœuds. Expliquez l’impossibilité. Donnez la hauteur minimale possible pour huit nœuds et la maximale.

Indice 1

Chaque niveau contient au plus deux fois plus de nœuds que le précédent.

Indice 2

Une chaîne donne le plus long chemin possible.

Comprendre la correction

La hauteur 2 autorise au plus 1+2+4=7 nœuds. Huit nœuds exigent donc au moins une hauteur de 3. La plus grande hauteur vaut 7, obtenue avec une chaîne. L’encadrement correct est ainsi de 3 à 7.

Exercice 7 · Approfondir et transférer#

Distinguer structure et valeurs

Deux arbres ont une racine 5 et un unique enfant 2. Dans le premier, 2 est à gauche ; dans le second, il est à droite. Comparez taille et hauteur, puis dites si les arbres binaires ont la même structure. Peut-on qualifier les deux de binaires ?

Indice 1

Les positions gauche et droite font partie de la définition.

Indice 2

Binaire autorise un seul enfant.

Comprendre la correction

Les deux arbres ont taille 2 et hauteur 1. Ils sont tous deux binaires, mais leurs structures diffèrent car l’emplacement de l’enfant change. Les mesures numériques ne suffisent donc pas à identifier toute la structure. Aucune règle de recherche sur les valeurs n’était imposée.

Les erreurs qui méritent un détour

Compter uniquement les feuilles pour obtenir la taille.
La taille inclut tous les nœuds, racine et nœuds internes compris.
Oublier de préciser la convention de hauteur.
Compter les arêtes ou les nœuds produit un décalage de 1. Lisez la définition donnée dans l’exercice.

La fiche à garder

L’essentiel à retenir

  • Un arbre binaire distingue sous-arbres gauche et droit.
  • Taille, nombre de feuilles et hauteur sont des mesures différentes.
  • La forme détermine la hauteur pour une taille fixée.

Cette notion au bac

Retrouvez ces idées dans un sujet complet, avec des indices, une correction expliquée et des ateliers.

Le prochain pas

Retrouver le catalogue de Terminale

Ce chapitre s’appuie sur le programme officiel de Terminale (PDF, nouvel onglet). Les explications et exercices sont proposés pour l’apprentissage.