🌳NSI

Réviser les arbres binaires en NSI en 2 semaines

21 juillet 2026 7 min de lecture

Les arbres binaires sont une structure de données incontournable en NSI, que ce soit en Première ou en Terminale. Pas de panique : avec un peu d'organisation, tu peux les maîtriser en deux semaines. Cet article te propose un plan de révision pas à pas, avec des exemples concrets en Python et des astuces pour le bac.

Semaine 1 : les bases des arbres binaires

Qu'est-ce qu'un arbre binaire ?

Un arbre binaire est une structure hiérarchique où chaque nœud a au plus deux enfants : un gauche et un droit. Le nœud tout en haut s'appelle la racine, et les nœuds sans enfants sont les feuilles. En Python, on peut le représenter avec une classe simple :

class Noeud:
    def __init__(self, valeur, gauche=None, droit=None):
        self.valeur = valeur
        self.gauche = gauche
        self.droit = droit

Par exemple, pour créer un arbre avec 1 comme racine, 2 à gauche et 3 à droite :

arbre = Noeud(1, Noeud(2), Noeud(3))

Les parcours : profondeur d'abord

Il existe trois parcours en profondeur : préfixe (racine, gauche, droite), infixe (gauche, racine, droite) et postfixe (gauche, droite, racine). Voici comment les implémenter récursivement :

def prefixe(noeud):
    if noeud:
        print(noeud.valeur)
        prefixe(noeud.gauche)
        prefixe(noeud.droit)

def infixe(noeud):
    if noeud:
        infixe(noeud.gauche)
        print(noeud.valeur)
        infixe(noeud.droit)

def postfixe(noeud):
    if noeud:
        postfixe(noeud.gauche)
        postfixe(noeud.droit)
        print(noeud.valeur)

Exercices pratiques

Pour t'entraîner, construis un arbre de taille 5 et affiche ses valeurs avec les trois parcours. Vérifie que tu obtiens le bon ordre. Tu peux aussi utiliser les exercices en ligne pour t'auto-évaluer.

Semaine 2 : arbres binaires de recherche (ABR)

Propriété fondamentale

Un arbre binaire de recherche (ABR) est un arbre binaire où, pour chaque nœud, tous les éléments du sous-arbre gauche sont plus petits que le nœud, et tous ceux du sous-arbre droit sont plus grands. Cette propriété permet une recherche rapide.

Insertion dans un ABR

Voici une fonction d'insertion récursive en Python :

def inserer(racine, valeur):
    if racine is None:
        return Noeud(valeur)
    if valeur < racine.valeur:
        racine.gauche = inserer(racine.gauche, valeur)
    else:
        racine.droit = inserer(racine.droit, valeur)
    return racine

Teste-la en insérant les valeurs 5, 3, 7, 2, 4, 6, 8 dans un arbre vide. Le résultat doit être un ABR équilibré.

Recherche dans un ABR

def rechercher(racine, valeur):
    if racine is None or racine.valeur == valeur:
        return racine
    if valeur < racine.valeur:
        return rechercher(racine.gauche, valeur)
    else:
        return rechercher(racine.droit, valeur)

La complexité est en O(log n) en moyenne, mais peut dégénérer en O(n) si l'arbre est déséquilibré (par exemple si on insère des valeurs triées).

Cas d'usage concret

Les ABR sont utilisés dans les dictionnaires (comme les dict de Python, mais en interne ce sont des tables de hachage) ou les index de bases de données. En NSI, tu les retrouveras dans des problèmes de recherche et de tri.

Conseils pour le bac NSI

À l'épreuve, on te demandera souvent de manipuler des arbres : implémenter un parcours, insérer ou rechercher dans un ABR. Entraîne-toi à écrire du code à la main sur papier. Utilise les fiches de révision pour retenir les algorithmes clés. N'oublie pas de consulter le cours complet pour approfondir.

Pour une aide personnalisée, n'hésite pas à visiter AlloBac ou AlloLycée pour des ressources complémentaires.

Conclusion

En deux semaines, tu peux passer de débutant à à l'aise avec les arbres binaires. Le secret ? Pratiquer un peu chaque jour, et ne pas hésiter à revenir sur les bases. Tu vas y arriver !

📚 Pour aller plus loin

Questions fréquentes

Quelle est la différence entre un arbre binaire et un arbre binaire de recherche ?

Un arbre binaire n'a pas de contrainte sur l'ordre des valeurs. Un arbre binaire de recherche (ABR) impose que pour chaque nœud, les valeurs du sous-arbre gauche soient inférieures et celles du sous-arbre droit supérieures, ce qui permet une recherche efficace.

Comment parcourir un arbre binaire en Python ?

On utilise la récursivité. Pour un parcours préfixe, on affiche la racine puis on parcourt le sous-arbre gauche puis le droit. Infixe : gauche, racine, droit. Postfixe : gauche, droit, racine.

Quel est l'intérêt d'un arbre binaire de recherche ?

Il permet une recherche, une insertion et une suppression en O(log n) en moyenne, ce qui est très efficace pour gérer des données dynamiques.

Comment éviter qu'un ABR devienne déséquilibré ?

On peut utiliser des arbres équilibrés comme les AVL ou les arbres rouges-noirs, mais en NSI on se contente souvent d'étudier le cas simple. Insérer des valeurs dans un ordre aléatoire aide à garder un bon équilibre.

Les arbres binaires sont-ils au programme du bac NSI ?

Oui, en Terminale NSI, les arbres binaires (y compris les ABR) sont une notion clé. Tu peux avoir des exercices de parcours, d'insertion ou de recherche.

Bravo ! Tu as lu cet article
Inscris-toi pour sauvegarder ta progression et gagner des XP
Creer mon compte
arbres binaires NSIarbre binaire de rechercherévision NSIparcours arbre binairebac NSI arbres
Pixel