Najah.
Mon plan de révision⚡ Défi flash

Informatique · Classes prépa (CPGE) — 2ème année — TSI

Structures de données : Arbres binaires et Arbres binaires de recherche

Le cours expliqué simplement, les questions que tous les élèves se posent et des exercices type examen national. Programme marocain, gratuit.

📘 Fiche de cours

L'essentiel du cours

Un arbre binaire est une structure hiérarchique où chaque nœud possède au plus deux fils (gauche et droit).

  • Hauteur ($h$) : Nombre de niveaux de l'arbre. Une feuille seule a une hauteur de 1.
  • ABR (Arbre Binaire de Recherche) : Pour tout nœud, les valeurs du sous-arbre gauche sont strictement inférieures à la valeur du nœud, et celles du sous-arbre droit sont supérieures.

Méthodes à maîtriser

  1. Parcours récursifs :
    • Préfixe (N, G, D) : Racine, puis sous-arbre gauche, puis droit.
    • Infixe (G, N, D) : Sous-arbre gauche, puis racine, puis droit. (Donne les valeurs triées pour un ABR).
    • Postfixe (G, D, N) : Sous-arbre gauche, puis droit, puis racine.
  2. Insertion dans un ABR : Comparer la valeur à insérer avec la racine, descendre à gauche si plus petit, à droite si plus grand, jusqu'à trouver une place vide.

Exemples corrigés

  • Recherche : Pour trouver $x$ dans un ABR, on compare $x$ à la racine. Si $x <$ racine, on cherche à gauche, sinon à droite. Complexité : $O(h)$.

Erreurs fréquentes

  • Confondre la hauteur et le nombre de niveaux.
  • Oublier le cas de base dans les fonctions récursives (nœud vide None).
  • Penser qu'un parcours infixe donne toujours une liste triée (vrai uniquement pour les ABR).

🌉 Jisr : les mots du chapitre FR ⇄ AR

Tu as appris les sciences en arabe ? Touche un mot pour voir sa traduction et une explication en darija.

La question que tu n'oses pas poser en classe ? Pose-la à UstadZéro jugement, même en darija, même à minuit. Il t'explique pas à pas et corrige ta démarche. Gratuit.

Défi flash : 4 questions

Sans compte

🎯 Structures de données : Arbres binaires et Arbres binaires de recherche

1/4

Quel est le parcours infixe de l'arbre suivant : Racine 5, Fils G 3, Fils D 8 ?

❓ Questions fréquentes

Qu'est-ce qu'un arbre binaire complet ?

Un arbre binaire est dit complet si tous les niveaux sont entièrement remplis, à l'exception éventuellement du dernier niveau qui est rempli de gauche à droite.

💡 À retenir : Un arbre complet minimise la hauteur pour un nombre de nœuds donné.

kifach n7seb l-hauteur dyal chi chajara b-python?

Pour calculer la hauteur, on utilise la récursivité :

  1. Si l'arbre est vide, la hauteur est 0.
  2. Sinon, la hauteur est $1 + \max(\text{hauteur(gauche)}, \text{hauteur(droite)})$.

💡 À retenir : La hauteur dépend toujours du chemin le plus long vers une feuille.

Quelle est la complexité de la recherche dans un ABR ?

La complexité est $O(h)$ où $h$ est la hauteur de l'arbre. Dans le meilleur des cas (arbre équilibré), $h = \log_2(n)$, donc $O(\log n)$. Dans le pire des cas (arbre filiforme), $h = n$, donc $O(n)$.

💡 À retenir : L'efficacité dépend de l'équilibre de l'arbre.

chno l-far9 bin ABR w chajara binaire 3adiya?

La différence est la règle de rangement : dans un ABR, les valeurs sont ordonnées (gauche < racine < droite), ce qui permet de faire des recherches rapides. Dans un arbre binaire simple, il n'y a aucune règle de positionnement.

💡 À retenir : L'ABR est optimisé pour la recherche.

Comment supprimer un nœud dans un ABR ?

Trois cas :

  1. Nœud feuille : on le supprime simplement.
  2. Nœud avec un seul fils : on remplace le nœud par son fils.
  3. Nœud avec deux fils : on remplace la valeur par le successeur immédiat (le plus petit du sous-arbre droit) et on supprime ce successeur.

💡 À retenir : La suppression doit maintenir la propriété ABR.

kifach n-parcourir chajara b-tariqa infixe?

C'est une fonction récursive :

  1. Appel récursif sur le fils gauche.
  2. Traitement (affichage) de la valeur du nœud courant.
  3. Appel récursif sur le fils droit.

💡 À retenir : L'ordre est toujours Gauche -> Racine -> Droite.

Un arbre peut-il avoir deux racines ?

Non, par définition, un arbre binaire possède une et une seule racine. Si vous avez plusieurs racines, vous avez une "forêt" d'arbres.

💡 À retenir : La racine est le point d'entrée unique.

La complexité de l'insertion est-elle toujours la même ?

Non, elle dépend de la structure de l'arbre. Si l'arbre est déjà très déséquilibré, l'insertion peut prendre $O(n)$.

💡 À retenir : L'insertion suit le même chemin que la recherche.

Est-ce que le parcours préfixe est utile pour copier un arbre ?

Oui, le parcours préfixe permet de reconstruire l'arbre à l'identique car il traite la racine avant ses fils, ce qui respecte la structure hiérarchique.

💡 À retenir : Préfixe = Racine en premier.

Pourquoi dit-on que l'ABR est une structure dynamique ?

Parce qu'on peut ajouter ou supprimer des nœuds à tout moment sans avoir à redimensionner toute la structure comme dans un tableau statique.

💡 À retenir : Utilisation de pointeurs (ou références) en Python.

Quelle est la taille maximale d'un arbre de hauteur h ?

La taille maximale (nombre de nœuds) est $2^h - 1$.

💡 À retenir : C'est le cas d'un arbre binaire parfait.

Est-ce que le parcours postfixe est utile ?

Oui, notamment pour supprimer un arbre (libérer la mémoire) ou pour évaluer des expressions arithmétiques écrites en notation polonaise inverse.

💡 À retenir : Postfixe = Racine en dernier.

✍️ Exercices type examen national

Exercice 1

Soit un ABR contenant les valeurs {15, 10, 20, 8, 12, 17, 25}.

  1. Dessiner l'arbre résultant de l'insertion de ces valeurs dans cet ordre.
  2. Donner le résultat du parcours infixe.
Voir la correction détaillée : inscription gratuite

Exercice 2

Écrire une fonction Python est_dans_abr(arbre, valeur) qui retourne True si la valeur est présente, False sinon.

Voir la correction détaillée : inscription gratuite

Exercice 3

Soit un arbre binaire. Expliquer pourquoi le parcours infixe d'un arbre binaire quelconque n'est pas forcément trié, contrairement à un ABR.

Voir la correction détaillée : inscription gratuite

Un prof de Informatique pour aller plus loin

Les cours du soir avec des profs vérifiés arrivent : inscris-toi pour être prévenu(e) en premier.

Être prévenu(e) gratuitement

Autres chapitres de Informatique