📘 Fiche de cours
L'essentiel du cours
Un arbre binaire est une structure de données hiérarchique où chaque nœud possède au plus deux enfants (gauche et droite).
- Hauteur ($h$) : Nombre de niveaux de l'arbre.
- ABR (Arbre Binaire de Recherche) : Pour tout nœud $N$, les valeurs du sous-arbre gauche sont inférieures à $N$ et celles du sous-arbre droit sont supérieures à $N$.
- Parcours :
- Préfixe (NLR) : Racine $\rightarrow$ Gauche $\rightarrow$ Droite.
- Infixe (LNR) : Gauche $\rightarrow$ Racine $\rightarrow$ Droite (donne les valeurs triées dans un ABR).
- Postfixe (LRN) : Gauche $\rightarrow$ Droite $\rightarrow$ Racine.
Méthodes à maîtriser
- Insertion : Comparer la valeur à insérer avec la racine, descendre à gauche si plus petite, à droite si plus grande.
- Recherche : Algorithme récursif en $O(h)$.
- Suppression :
- Feuille : Supprimer simplement.
- Un enfant : Remplacer par son enfant.
- Deux enfants : Remplacer par le successeur immédiat (le plus petit du sous-arbre droit).
Exemples corrigés
- Insertion de 15 dans un ABR : Si 15 < racine, aller à gauche, sinon à droite, répéter jusqu'à trouver un emplacement vide.
- Parcours infixe : Permet de vérifier si un arbre est un ABR (la liste doit être triée).
Erreurs fréquentes
- Confondre la hauteur (nombre de niveaux) et le nombre de nœuds.
- Oublier le cas de base dans les fonctions récursives (arbre vide).
- Dans la suppression, oublier de réorganiser les liens après avoir trouvé le successeur.