Structures de données SMI/SMA-S4 Arbres Pr. Issam QAFFOU Laboratoire Ingénierie des Systèmes d’Information Département d’Informatique FSSM-UCA SMI/SMA S4 Structures de données 1 Introduction • C’est une structure de données non linéaire. • Peut être assimilé à une généralisation des listes chainées. • Un arbre est composé de plusieurs listes. • Un arbre est un ensemble fini de nœuds. • Il a une racine d’où découlent tout le reste (sousarbres). • Chaque nœud peut posséder plusieurs descendants mais un seul père. SMI/SMA S4 Structures de données 2 Jargon • Nœud: caractérisé par une valeur et un nombre fini de descendants, possède un seul père. Peut être: – Terminal (feuille): n’a pas de fils – Non terminal: a au moins un fils. On appelle la racine le nœud n’ayant pas de père. • Arité (degré) d’un nœud: nombre de ses descendants. • Arité d’un arbre: c’est le degré maximal de ses nœuds. • Profondeur d’un nœud: nombre de nœuds qui existent dans son chemin à partir de la racine. Le nœud luimême est exclu. • La hauteur d’un arbre: c’est la profondeur maximale de ses nœuds. SMI/SMA S4 Structures de données 3 Arbre binaire (AB) SMI/SMA S4 Structures de données 4 Parcours d’un AB SMI/SMA S4 Structures de données 5 Parcours d’un AB • A partir de ce contour, on définit trois parcours des sommets de l’arbre : – l’ordre préfixe : on liste chaque sommet la première fois qu’on le rencontre dans la balade. Ce qui donne ici : r, a, c, h, d, i, j, l, b, e, k, f . – l’ordre postfixe : on liste chaque sommet la dernière fois qu’on le rencontre. Ce qui donne ici : h, c, i, l, j, d, a, k, e, f, b, r . – l’ordre infixe : on liste chaque sommet ayant un fils gauche la seconde fois qu’on le voit et chaque sommet sans fils gauche la première fois qu’on le voit. Ce qui donne ici : c, h, a, i, d, l, j, r, k, e, b, f . SMI/SMA S4 Structures de données 6 Arbre binaire de recherche SMI/SMA S4 Structures de données 7 ABR SMI/SMA S4 Structures de données 8 ABR SMI/SMA S4 Structures de données 9 Implémentation d’un ABR • Soit un arbre binaire de recherche composés de valeurs entières. • La structure: puisqu’il est binaire donc on doit utiliser deux pointeurs: un sur le sous arbre gauche et l’autre sur le sous arbre droit. SMI/SMA S4 Structures de données 10 Création & insertion SMI/SMA S4 Structures de données 11 Affichage SMI/SMA S4 Structures de données 12 Chercher un éléments SMI/SMA S4 Structures de données 13 Supprimer un élément SMI/SMA S4 Structures de données 14 Supprimer un élément SMI/SMA S4 Structures de données 15 Supprimer un élément SMI/SMA S4 Structures de données 16