Numérique et sciences informatiques (spécialité) · TerminaleBac
Arbres binaires de recherche : exercices corrigés de Terminale NSI
Publié le 7 novembre 2026 · Mis à jour le 7 novembre 2026 · Signaler une erreur
L'essentiel
- Un ABR est un arbre binaire où chaque clé est plus grande que celles de son sous-arbre gauche et plus petite que celles de son sous-arbre droit 6.
- Rechercher une clé : comparer à la racine, puis descendre à gauche ou à droite, jusqu'à la trouver ou atteindre un arbre vide 6.
- Insérer une clé : suivre le chemin d'une recherche ; le nouveau nœud devient une feuille 6.
- Supprimer un nœud à deux enfants : l'échanger avec son successeur ou son prédécesseur, puis supprimer la feuille obtenue 6.
- Aux épreuves du bac, relis toujours la convention de hauteur donnée par l'énoncé 4.
Comment utiliser ces exercices
Ces exercices vont du plus simple au plus délicat. Les premiers te font manipuler un arbre dessiné : compter, chercher, insérer. Les suivants te demandent de parcourir, de supprimer, puis d'écrire du code Python. Les derniers demandent un vrai raisonnement, comme à l'épreuve écrite du bac.
Chaque exercice propose un ou deux indices. Cherche d'abord seul sur papier, dessine l'arbre, puis regarde l'indice, et seulement ensuite la correction. Dans une correction, chaque étape est une action : refais-la toi-même avant de lire la suivante.
Les exercices
Exercice 1 Taille et hauteur d'un ABR construit par insertions
On part d'un ABR vide et on insère successivement, dans cet ordre, les clés :
- Dessine l'arbre obtenu.
- Donne sa taille.
- Donne sa hauteur, avec la convention du bac (un nœud seul : hauteur 1, arbre vide : 0).
Cet arbre sert de référence pour les exercices 2 à 6, 8 étant indépendant.
Indice 1
La première clé insérée devient la racine. Pour chaque clé suivante, compare-la à la racine puis descends.
Indice 2
La hauteur se lit sur le chemin le plus long de la racine à une feuille, en comptant les nœuds.
Voir la correction pas à pas
8 est la racine, car l'arbre est vide.
3 < 8 : 3 devient fils gauche de 8. 10 > 8 : 10 devient fils droit de 8.
1 < 8 puis 1 < 3 : 1 devient fils gauche de 3. 6 < 8 puis 6 > 3 : 6 devient fils droit de 3.
14 > 8 puis 14 > 10 : 14 devient fils droit de 10.
4 < 8, 4 > 3, 4 < 6 : 4 devient fils gauche de 6. 7 < 8, 7 > 3, 7 > 6 : 7 devient fils droit de 6.
13 > 8, 13 > 10, 13 < 14 : 13 devient fils gauche de 14.
Taille : on compte les nœuds, il y en a 9 (autant que de clés insérées).
Hauteur : le chemin 8, 3, 6, 4 compte 4 nœuds ; le chemin 8, 10, 14, 13 aussi. Aucun chemin n'est plus long : la hauteur est 4.
L'arbre a pour racine 8, avec 3 et 10 comme fils ; 3 porte 1 et 6, 6 porte 4 et 7, 10 porte à droite 14 qui porte 13 à gauche. Sa taille est 9 et sa hauteur 4. Chaque clé insérée est devenue une feuille au moment de son ajout 6.
Exercice 2 Chercher une clé dans l'ABR
On utilise l'arbre de l'exercice 1. On cherche successivement les clés 7, 5 et 12.
Pour chacune, écris la suite des clés examinées (de la racine jusqu'à l'arrêt) et conclus : présente ou absente ?
Combien de nœuds sont examinés pour la clé 7 ?
Indice 1
À chaque nœud, il n'y a que trois issues : égal, plus petit (on va à gauche), plus grand (on va à droite).
Indice 2
Si tu dois aller dans un sous-arbre vide, la clé est absente.
Voir la correction pas à pas
Clé 7 : on compare à 8, 7 < 8, on va à gauche.
On compare à 3, 7 > 3, on va à droite.
On compare à 6, 7 > 6, on va à droite.
On compare à 7 : égal, la clé est présente. Nœuds examinés : 8, 3, 6, 7, soit 4.
Clé 5 : 8 (gauche), 3 (droite), 6 (gauche), 4 (droite). Le fils droit de 4 est vide : 5 est absente.
Clé 12 : 8 (droite), 10 (droite), 14 (gauche), 13 (gauche). Le fils gauche de 13 est vide : 12 est absente.
Pour 7, quatre nœuds sont examinés. Les deux recherches infructueuses s'arrêtent sur un sous-arbre vide, ce qui prouve l'absence de la clé 6. Le nombre de comparaisons ne dépasse jamais la hauteur de l'arbre : c'est pourquoi la forme de l'arbre compte tant.
Exercice 3 Insérer de nouvelles clés
Toujours dans l'arbre de l'exercice 1, on insère d'abord la clé 5, puis la clé 2.
- Où se placent ces deux nouveaux nœuds ?
- Quelle est la hauteur de l'arbre après ces deux insertions ?
Indice 1
Une insertion suit exactement le chemin d'une recherche infructueuse.
Indice 2
Les chemins de 5 et de 2 ont été presque tous tracés à l'exercice 2.
Voir la correction pas à pas
Insertion de 5 : le chemin est 8 (gauche), 3 (droite), 6 (gauche), 4 (droite). Le fils droit de 4 est vide : 5 devient fils droit de 4.
Insertion de 2 : 8 (gauche), 3 (gauche), 1 (droite). Le fils droit de 1 est vide : 2 devient fils droit de 1.
Hauteur : le chemin 8, 3, 6, 4, 5 contient 5 nœuds.
Le chemin 8, 3, 1, 2 n'en contient que 4. Le plus long est donc celui qui mène à 5 : hauteur 5.
Les deux nouveaux nœuds sont des feuilles, comme tout nœud ajouté dans un ABR 6. La hauteur est passée de 4 à 5 parce que 5 a été ajouté au bout d'une branche déjà la plus longue.
Exercice 4 Les trois parcours en profondeur
On revient à l'arbre de l'exercice 1 (sans les insertions de l'exercice 3). Un arbre binaire de recherche peut se parcourir en profondeur de trois façons : infixe, préfixe ou postfixe 6. On rappelle les conventions :
- préfixe : on traite la racine, puis le sous-arbre gauche, puis le sous-arbre droit ;
- infixe : sous-arbre gauche, puis racine, puis sous-arbre droit ;
- postfixe : sous-arbre gauche, sous-arbre droit, puis racine.
- Écris la liste des clés dans chacun des trois ordres.
- Que remarques-tu sur la liste obtenue en infixe ?
Indice 1
Applique la règle récursivement : chaque sous-arbre se parcourt selon le même ordre que l'arbre entier.
Indice 2
Pour l'infixe, commence par descendre tout à gauche : la première clé écrite est celle de la feuille la plus à gauche.
Voir la correction pas à pas
Préfixe : on écrit 8, puis on parcourt le sous-arbre de racine 3 (3, 1, puis le sous-arbre de 6 : 6, 4, 7), puis celui de 10 (10, puis 14, puis 13).
Résultat préfixe : 8, 3, 1, 6, 4, 7, 10, 14, 13.
Infixe : on descend à gauche jusqu'à 1. Le sous-arbre de 3 donne 1, 3, puis le sous-arbre de 6 donne 4, 6, 7. On écrit alors 8, puis le sous-arbre de 10 : 10, puis celui de 14 qui donne 13, 14.
Résultat infixe : 1, 3, 4, 6, 7, 8, 10, 13, 14.
Postfixe : le sous-arbre de 3 donne 1, 4, 7, 6, 3 (la racine 3 en dernier) ; celui de 10 donne 13, 14, 10 ; la racine 8 vient en dernier.
Résultat postfixe : 1, 4, 7, 6, 3, 13, 14, 10, 8.
Observation : la liste infixe est rangée dans l'ordre croissant.
Les trois listes contiennent les mêmes neuf clés, mais dans des ordres différents. Seul le parcours infixe les restitue triées : c'est un moyen simple de vérifier, sur un exemple, qu'un arbre respecte bien la structure d'un ABR.
Exercice 5 Supprimer un nœud à deux enfants
Dans l'arbre de l'exercice 1, on supprime le nœud de clé 3, qui a deux enfants.
- Quel est son successeur le plus proche ? Son prédécesseur le plus proche ?
- Dessine l'arbre obtenu en utilisant le successeur.
- Donne la clé du successeur.
Indice 1
Le successeur se trouve dans le sous-arbre droit du nœud : descends à gauche autant que possible.
Indice 2
Le prédécesseur se trouve dans le sous-arbre gauche : descends à droite autant que possible.
Voir la correction pas à pas
Le sous-arbre droit de 3 a pour racine 6, qui a un fils gauche, 4.
Le nœud 4 n'a pas de fils gauche : c'est le nœud le plus à gauche du sous-arbre droit, donc le successeur. Sa clé est 4.
Le sous-arbre gauche de 3 est réduit à 1 : le prédécesseur est 1.
On échange 3 et 4. Le nœud portant maintenant la clé 3 est une feuille : on le supprime.
Arbre obtenu : racine 8 ; à gauche 4, qui a 1 à gauche et 6 à droite ; 6 n'a plus que 7 à droite ; à droite de 8, la branche 10, 14, 13 est inchangée.
Vérification : 1 < 4 < 6 < 7 < 8 et la branche de droite n'a pas bougé, donc l'ordre est conservé.
Échanger le nœud avec son successeur ou son prédécesseur conserve la structure d'ABR 6. Avec le prédécesseur 1, on obtiendrait un arbre différent mais tout aussi valable : 1 prendrait la place de 3. La ressource Éduscol décrit une opération voisine, qui cherche la plus petite valeur d'un sous-arbre droit, supprime le nœud qui la contient et renvoie cette valeur 2.
Exercice 6 Écrire la recherche et la hauteur en Python
Un arbre est représenté par la classe suivante. L'arbre vide est représenté par None.
class Noeud:
def __init__(self, cle, gauche=None, droit=None):
self.cle = cle
self.gauche = gauche
self.droit = droit
- Écris une fonction récursive
recherche(arbre, cle)qui renvoieTruesi la clé est dans l'ABR,Falsesinon. - Écris une fonction récursive
hauteur(arbre)avec la convention du bac (arbre vide : 0). - Que renvoie
hauteursur l'arbre de l'exercice 1 ?
Indice 1
Une fonction récursive a besoin d'un cas de base : ici, l'arbre vide.
Indice 2
Pour la hauteur, un arbre non vide a une hauteur égale à 1 plus la plus grande des hauteurs de ses deux sous-arbres.
Voir la correction pas à pas
Cas de base de
recherche: siarbre is None, la clé est absente, on renvoieFalse.Si
cle == arbre.cle, on renvoieTrue.Si
cle < arbre.cle, on rappelle la fonction surarbre.gauche; sinon surarbre.droit.Code complet :
def recherche(arbre, cle): if arbre is None: return False if cle == arbre.cle: return True if cle < arbre.cle: return recherche(arbre.gauche, cle) return recherche(arbre.droit, cle)Cas de base de
hauteur: l'arbre vide vaut 0.Cas général : on compte la racine (1) et on ajoute la plus grande hauteur des deux sous-arbres.
Code complet :
def hauteur(arbre): if arbre is None: return 0 return 1 + max(hauteur(arbre.gauche), hauteur(arbre.droit))Sur l'arbre de l'exercice 1, la branche gauche donne 3 et la branche droite 3, donc la hauteur de la racine vaut 1 + 3 = 4.
recherche ne visite qu'une seule branche : elle ne regarde jamais les deux sous-arbres, c'est ce qui la rend efficace. Avec une convention où l'arbre vide vaut -1, il suffirait de changer le cas de base, ce que mentionnent certains sujets 5. Pense à relire ce que l'énoncé impose.
Exercice 7 Mêmes clés, ordres d'insertion différents
On dispose des sept clés .
- On les insère dans l'ordre . Dessine l'arbre et donne sa hauteur.
- On les insère dans l'ordre croissant . Dessine l'arbre et donne sa hauteur.
- Combien de nœuds faut-il examiner, dans chacun des deux arbres, pour chercher la clé 7 ?
Indice 1
Dans le deuxième cas, chaque nouvelle clé est plus grande que toutes les précédentes : de quel côté va-t-elle ?
Indice 2
Compare le nombre de nœuds examinés à la hauteur de chaque arbre.
Voir la correction pas à pas
Premier ordre : 4 est la racine ; 2 à gauche, 6 à droite ; 1 et 3 sous 2 ; 5 et 7 sous 6. Tous les niveaux sont remplis : hauteur 3.
Deuxième ordre : 1 est la racine. 2 > 1 va à droite de 1, 3 va à droite de 2, et ainsi de suite.
On obtient une seule branche vers la droite : 1, 2, 3, 4, 5, 6, 7. Hauteur 7.
Recherche de 7 dans le premier arbre : 4, puis 6, puis 7 : 3 nœuds.
Recherche de 7 dans le second arbre : on traverse 1, 2, 3, 4, 5, 6, 7 : 7 nœuds.
Les deux arbres représentent le même ensemble de valeurs ordonnées, mais avec des formes différentes 2. Le second se comporte comme une liste chaînée : la recherche est aussi lente qu'un parcours complet. L'efficacité d'un ABR dépend donc de sa hauteur, pas seulement du nombre de clés.
Exercice 8 Cet arbre est-il un ABR ?
Voici un arbre binaire : la racine porte 10 ; son fils gauche porte 5 et son fils droit porte 15 ; le nœud 5 a pour fils gauche 3 et pour fils droit 12 ; le nœud 15 est une feuille.
- Vérifie nœud par nœud la relation avec ses fils. Que constates-tu ?
- L'arbre est-il un ABR ? Justifie.
- Propose une modification minimale qui le rende valide.
Indice 1
Pose-toi la question pour chaque clé : est-elle du bon côté de la racine ?
Indice 2
Où serait placée la clé 12 si on l'insérait dans un ABR contenant 10, 5, 15 et 3 ?
Voir la correction pas à pas
Nœud 10 avec ses fils : 5 < 10 et 15 > 10, la relation locale est correcte.
Nœud 5 avec ses fils : 3 < 5 et 12 > 5, la relation locale est aussi correcte.
Mais 12 appartient au sous-arbre gauche de la racine 10, et 12 > 10. Une clé du sous-arbre gauche doit être inférieure à celle de la racine 6. La propriété est violée.
L'arbre n'est donc pas un ABR, bien que chaque relation père-fils soit respectée.
Correction : on déplace 12 pour le mettre comme fils gauche de 15, puisque 10 < 12 < 15. Le nœud 5 n'a plus que 3 à gauche, et l'arbre respecte la propriété.
Une vérification locale ne prouve rien : il faut contrôler les bornes imposées par tous les ancêtres. Une méthode fiable consiste à écrire la liste infixe et à vérifier qu'elle est triée (voir l'exercice 4).
Exercice 9 Hauteur minimale pour beaucoup de clés
Un arbre binaire dont tous les niveaux sont complètement remplis et de hauteur contient nœuds.
- Justifie cette formule pour , et .
- Une entreprise stocke 1000 identifiants dans un ABR. Quelle est la plus petite hauteur possible pour cet arbre ?
- Pourquoi peut-on rapprocher la recherche dans cet arbre de la dichotomie ?
Indice 1
Chaque niveau en dessous de la racine contient au plus deux fois plus de nœuds que le précédent.
Indice 2
Cherche le plus petit entier tel que .
Voir la correction pas à pas
Un niveau rempli contient nœuds : 1, 2, 4, 8, ...
Pour : 1 nœud, soit . Pour : . Pour : .
Il faut , c'est-à-dire .
Avec : , c'est trop petit. Avec : , cela convient.
La plus petite hauteur possible est donc 10 : une recherche examine au plus 10 nœuds au lieu de 1000.
Dans les deux méthodes, chaque comparaison écarte environ la moitié des valeurs restantes ; la différence est que l'ABR suit des liens tandis que la dichotomie accède directement aux cases d'un tableau 6.
Avec 1000 clés bien réparties, on descend d'au plus 10 niveaux. Cette hauteur n'est atteinte que si l'arbre est bien rempli, ce que l'insertion dans l'ordre croissant de l'exercice 7 ne garantit pas du tout.
Les questions qu'on se pose
Que faire si l'énoncé du bac donne une convention de hauteur différente de la mienne ?
Applique toujours celle de l'énoncé. Dans les sujets de la session 2023, un arbre à un seul nœud a pour hauteur 1 et l'arbre vide a pour hauteur 0 4. D'autres sujets d'entraînement utilisent -1 pour l'arbre vide 5. Si tu changes de convention, ton résultat est décalé d'une unité, et c'est la seule différence : la méthode reste la même.
Dois-je savoir dessiner un ABR ou seulement écrire le code ?
Les deux. Un sujet de bac sur les arbres binaires de recherche mêle souvent des questions sur un arbre dessiné (taille, hauteur, ajout de clés) et des questions sur les méthodes à écrire 4. Dessiner l'arbre t'aide à comprendre ce que le code doit faire, et inversement un code juste confirme ton dessin.
Sources
Programme visé : Numérique et Sciences Informatiques (NSI) - Structures de données : Arbres et arbres binaires de recherche · Éduscol - Ministère de l'Éducation Nationale
- Numérique et Sciences Informatiques (NSI) - Structures de données : Arbres et arbres binaires de recherche, Éduscol - Ministère de l'Éducation Nationale. Consulté le 7 novembre 2026.
- Ressource pédagogique - Arbres binaires de recherche, Éduscol. Consulté le 7 novembre 2026.
- Arbres binaires - Ressource d'accompagnement, Éduscol. Consulté le 7 novembre 2026.
- Sujets et corrigés d'examen - NSI 2023, Éduscol. Consulté le 7 novembre 2026.
- Formation MEEF NSI - Université Grenoble Alpes, Université Grenoble Alpes. Consulté le 7 novembre 2026.
- Arbre binaire de recherche, Wikipédia. Consulté le 7 novembre 2026.
Les numéros dans le texte renvoient à ces sources. Une source qui ne dit pas ce qu'on lui fait dire ? Signale-le.