Arbres binaires de recherche : cours de Terminale NSI
Publié le 7 novembre 2026 · Mis à jour le 7 novembre 2026 · Signaler une erreur
L'essentiel
Un arbre binaire de recherche (ABR) est un arbre binaire dont les clés sont comparables : à gauche d'un nœud les clés plus petites, à droite les clés plus grandes 6.
La recherche descend depuis la racine en comparant la clé cherchée à celle du nœud : à gauche si elle est plus petite, à droite si elle est plus grande 6.
Un nouveau nœud est toujours inséré comme feuille6 ; la forme de l'arbre dépend de l'ordre des insertions 2.
La suppression d'un nœud à deux enfants demande de le remplacer par son successeur (ou son prédécesseur) pour garder la propriété d'ABR 6.
Le parcours infixe d'un ABR donne les clés dans l'ordre croissant ; le coût des opérations dépend de la hauteur de l'arbre.
Pourquoi organiser des données dans un arbre ?
Imagine que tu doives stocker des milliers d'identifiants de clients et retrouver très vite l'un d'entre eux. Dans une liste non triée, tu parcours les éléments un par un. Dans un tableau trié, tu peux chercher par dichotomie, mais insérer un nouvel élément oblige à décaler les suivants. Les arbres binaires de recherche (ABR) proposent un compromis : ils gardent les données ordonnées tout en acceptant facilement de nouveaux éléments.
Un ABR sert à ranger un ensemble de données, ou un tableau associatif, à condition que toutes les clés puissent être comparées selon un ordre total 6. Il rend rapides les trois opérations de base : chercher, ajouter et retirer une clé 6. Les arbres binaires sont d'ailleurs fondamentaux dans beaucoup de domaines, par exemple la gestion des fichiers 3.
Dans ce cours, tu vas :
rappeler le vocabulaire des arbres binaires ;
définir précisément un ABR ;
écrire en Python une classe de nœuds, puis la recherche, l'insertion et la suppression ;
parcourir un ABR de trois façons ;
comprendre pourquoi la hauteur de l'arbre décide de son efficacité.
Ce chapitre s'appuie sur la programmation orientée objet (pour les nœuds), sur les listes chaînées (des nœuds reliés entre eux) et sur la récursivité.
Rappels sur les arbres binaires
Définition d'un arbre binaire de recherche
Des arbres de formes différentes peuvent ranger exactement les mêmes données ordonnées 2. Par exemple, les clés 1, 2 et 3 peuvent donner un arbre de racine 2 avec deux feuilles, ou une « chaîne » de racine 1, de fils droit 2, lui-même de fils droit 3. Les deux sont des ABR valides. La forme dépend de l'ordre dans lequel on insère les clés, nous y reviendrons.
Implanter un ABR en Python
On représente chaque nœud par un objet, comme pour une liste chaînée, mais avec deux liens au lieu d'un. L'arbre vide est représenté par None.
Rechercher une clé
Examiner le nœudComparer la clé cherchée à la clé du nœud courant.
ÉgalitéSi les clés sont égales, la recherche réussit.
DescendrePlus petite : sous-arbre gauche. Plus grande : sous-arbre droit.
Arbre videSi on atteint un arbre vide, la clé est absente.
Rechercher une clé dans un ABR · La recherche suit une seule branche.
Insérer une clé
Parcourir un ABR
Supprimer une clé
La suppression est l'opération la plus délicate, car il faut conserver la propriété d'ABR. On distingue trois cas selon le nombre d'enfants du nœud N à supprimer.
Les trois cas de suppression
Nombre d'enfants
Action
0 (feuille)
On retire simplement le nœud.
1
On le remplace par son unique sous-arbre.
2
On le remplace par son successeur ou son prédécesseur, puis on supprime ce dernier.
Les trois cas de suppression · Le cas à deux enfants se ramène à un cas simple.
Hauteur et efficacité
Dans les algorithmes précédents, on suit une seule branche de la racine jusqu'à un nœud. Le nombre de comparaisons est donc au plus la hauteur de l'arbre. Toute la question de l'efficacité se ramène à la hauteur : plus l'arbre est ramassé, plus les opérations sont rapides.
Exercices corrigés
Exercice 1 Construire un ABR et chercher une clé
★☆☆Environ 10 min
On insère dans cet ordre, dans un ABR initialement vide, les clés : 14, 6, 20, 3, 9, 17, 25.
Dessine (ou décris) l'arbre obtenu.
Donne son parcours infixe.
Combien de nœuds examine-t-on pour rechercher la clé 17 en partant de la racine ?
Indice 1
Chaque nouvelle clé suit le chemin de recherche jusqu'à un emplacement vide.
Indice 2
Pour la recherche, compte la racine et tous les nœuds rencontrés jusqu'à 17 inclus.
Voir la correction pas à pas
14 est la racine. 6 < 14 : fils gauche. 20 > 14 : fils droit. 3 < 14 puis 3 < 6 : fils gauche de 6. 9 < 14 puis 9 > 6 : fils droit de 6. 17 > 14 puis 17 < 20 : fils gauche de 20. 25 > 14 puis 25 > 20 : fils droit de 20.
Le parcours infixe traite le sous-arbre gauche, la racine, puis le sous-arbre droit : 3, 6, 9, 14, 17, 20, 25. La liste est triée, ce qui confirme que l'arbre est un ABR.
Recherche de 17 : on examine 14 (17 > 14, à droite), puis 20 (17 < 20, à gauche), puis 17 (trouvé). Cela fait 3 nœuds.
La recherche a suivi une seule branche de longueur 3, soit la hauteur de l'arbre.
Exercice 2 Effet de l'ordre d'insertion
★★☆Environ 12 min
On dispose des clés 2, 5, 7, 9, 11, 13, 16.
On les insère dans l'ordre croissant. Décris l'arbre et donne sa hauteur (convention : un nœud seul vaut 1).
Propose un ordre d'insertion de ces mêmes clés qui donne un arbre de hauteur 3.
Quelle est la taille de ces arbres ?
Indice 1
Dans l'ordre croissant, chaque clé est plus grande que toutes celles déjà insérées.
Indice 2
Pour une hauteur de 3 avec 7 clés, il faut remplir complètement les trois niveaux : commence par la clé médiane.
Voir la correction pas à pas
Dans l'ordre croissant, chaque clé part au fils droit de la précédente. On obtient une chaîne 2, 5, 7, 9, 11, 13, 16 : la hauteur est 7.
Pour obtenir la hauteur 3, on insère d'abord la médiane 9 (racine), puis 5 et 13 (ses fils), puis 2, 7, 11 et 16 (les feuilles). Ordre possible : 9, 5, 13, 2, 7, 11, 16.
Dans les deux cas, on a inséré sept clés distinctes : la taille vaut 7. La taille ne dépend pas de l'ordre, contrairement à la hauteur.
Le même ensemble de clés donne ici des arbres de hauteur 7 ou 3 : c'est l'ordre d'insertion qui décide de l'équilibre.
Exercice 3 Supprimer la racine d'un ABR
★★★Environ 15 min
On considère l'ABR de racine 30 dont le sous-arbre gauche est réduit à la feuille 10, et dont le fils droit est 50. Le nœud 50 a pour fils gauche 40 (qui a lui-même pour fils gauche 35) et pour fils droit 60.
Vérifie que c'est bien un ABR.
On supprime la clé 30 en utilisant le successeur. Quelle clé devient la nouvelle racine ?
Donne le parcours infixe de l'arbre final.
Indice 1
Le successeur est le nœud le plus à gauche du sous-arbre droit.
Indice 2
Après avoir recopié la clé du successeur à la racine, il reste à supprimer le nœud du successeur.
Voir la correction pas à pas
Le parcours infixe de l'arbre initial est 10, 30, 35, 40, 50, 60 : il est trié, donc c'est un ABR.
La racine 30 a deux enfants. Dans son sous-arbre droit (racine 50), on descend à gauche : 50 → 40 → 35. Le nœud 35 n'a plus de fils gauche : c'est le successeur, de clé 35.
On recopie 35 à la racine, puis on supprime l'ancien nœud 35, qui est une feuille : on la retire simplement.
Parcours infixe final : 10, 35, 40, 50, 60, trié : l'arbre reste un ABR.
Le successeur d'un nœud est la plus petite clé de son sous-arbre droit : la prendre comme remplaçante conserve l'ordre.
Quiz
8 questions · correction immédiate · ton score reste sur ton appareil.
La propriété porte sur tous les nœuds de chaque sous-arbre 6. Comparer seulement avec le parent est l'erreur tentante : un nœud peut être bien placé par rapport à son parent mais mal placé par rapport à un ancêtre. Avoir deux enfants ou des feuilles au même niveau n'a rien à voir avec l'ordre des clés.
6 < 8 : on va à gauche vers 3 ; 6 > 3 : on va à droite, emplacement vide, donc 6 est le fils droit de 3. Le fils gauche de 3 est 1. 6 ne peut être ni à droite de 8 (il est plus petit) ni sous 10.
Le parcours infixe traite le sous-arbre gauche, puis la racine, puis le sous-arbre droit : les clés sont donc visitées de la plus petite à la plus grande. Le préfixe commence par la racine, qui n'est pas la plus petite clé en général ; le postfixe termine par elle.
Vrai : on descend jusqu'à un emplacement vide et on y place le nouveau nœud 6. L'idée fausse serait de penser qu'il faut parfois insérer au milieu de l'arbre et réorganiser : ce n'est pas le cas pour un ABR simple.
Faux : les mêmes données ordonnées peuvent être rangées dans des arbres de formes variées 2. La forme dépend de l'ordre d'insertion : 1, 2, 3 donne une chaîne, 2, 1, 3 donne un arbre à deux feuilles.
La racine 6 est au niveau 1 ; 2 et 9 au niveau 2 ; 1, 4 et 8 au niveau 3. La hauteur est 3. Avec la convention où l'arbre vide vaut −15, on trouverait 2 : d'où l'importance de lire la convention de l'énoncé.
On échange le nœud avec son successeur ou son prédécesseur, voisins immédiats dans l'ordre des clés 6. Remonter le fils droit seul fait perdre le sous-arbre gauche, et une feuille quelconque ne respecte pas l'ordre des clés.
40 > 25 : si la clé est présente, elle est dans le sous-arbre droit 6. On ne regarde jamais les deux sous-arbres, ce qui rend la recherche efficace. On ne conclut à l'absence qu'en atteignant un arbre vide.
Les questions qu'on se pose
Quelle est la différence entre un arbre binaire et un arbre binaire de recherche ?
Un arbre binaire est une simple structure où chaque nœud a au plus deux enfants. Un ABR ajoute une contrainte d'ordre : les clés doivent être comparables 3, et les clés du sous-arbre gauche sont inférieures à celle du nœud, celles du sous-arbre droit supérieures 6. Tout ABR est un arbre binaire, mais l'inverse est faux.
Pourquoi utiliser un ABR plutôt qu'un tableau trié ?
Dans un tableau trié, la dichotomie est rapide mais l'insertion oblige à décaler des éléments. L'ABR se parcourt en suivant des liens au lieu d'accéder directement aux cases 6, mais il permet d'insérer et de supprimer en modifiant seulement quelques liens. Il garde les données ordonnées sans retrier.
Que se passe-t-il si on insère une clé déjà présente ?
Cela dépend de la mise en œuvre : certaines acceptent des clés égales, d'autres les interdisent 6. À l'examen, l'énoncé précise le choix. Dans ce cours, on ignore simplement l'insertion.
Comment prouver qu'un arbre binaire est un ABR ?
Vérifie la propriété pour tous les nœuds, pas seulement pour les parents directs. Un moyen simple : faire le parcours infixe (gauche, nœud, droite) et vérifier que la liste obtenue est strictement croissante. Un arbre dont le parcours infixe n'est pas trié n'est pas un ABR.
Taille, hauteur : que me demande-t-on au bac ?
Les sujets demandent souvent la taille (nombre de nœuds) et la hauteur d'un arbre, parfois avec l'insertion de nouvelles valeurs dans un ABR 4. La convention de hauteur est donnée dans l'énoncé (arbre vide à 0 4, ou à −15) : applique-la strictement.