Académique Documents
Professionnel Documents
Culture Documents
● Notion de chemin
Le chemin a la racine d’un nœud est la listes des nœuds qu’ils faut parcourir depuis la
racine jusqu’à ce nœud
● Notion d’ancêtre
Les ancêtres d’un nœud sont les nœuds se trouvant sur le chemin unique entre ce nœud et la racine.
Dans la figure 1 ; les ancêtres de 8 sont 1, 2, 5
● Notion de frère
Dans les arbres binaires, deux éléments sont dit frères, lorsqu’il sont issus d’un même père. Ici sur
la figure 1, les frères sont : 7 & 8(parent : 5) ; 4 & 5(parent : 2) ; 2 & 3(parent : 1)
● Notion de feuille
Une feuille est un élément qui n’a pas de fils . Sur notre figure(figure 1) les 7, 8, 9 n’ont pas de fils
donc ce sont les feuilles.
● Notion de nœud
● Notion d’hauteur
La hauteur d’un nœud est la longueur du plus long chemin partant de ce nœud et aboutissant à une
feuille. Ici la hauteur(1) = 3 ; hauteur(7) = hauteur(8) = hauteur(9) = 0
La hauteur d’un arbre est la hauteur de sa racine. Ou encore d’un arbre est la plus grande
profondeur d’une feuille de l’arbre. Dans la figure 1, la hauteur de l’arbre est 3
● Notion de racine
La racine de l’arbre est l’unique nœud ne possédant pas de parent. Dans la figure 1, la racine est 1
● Notion de degré
Le degré d’un arbre est le degré maximum de ses nœuds. Dans la figure ci-dessus,
degré(arbre) = 2
● Notion de parent
Element dont sont issus les fils
Enregistrement nœud {
contenu : Entier;
gauche : Noeud;
droite : Noeud;
}
1) Definition
Un arbre binaire de recherche (abrege ABR) est un arbre binaire verifiant la propriete
suivante : soient x et y deux noeuds de l’arbre :
• Si y est un noeud du sous-arbre gauche de x alors cle(y) ≤ cle(x)
• Si y est un noeud du sous-arbre droit de x alors cle(y) ≥ cle(x)
Remarque:
Généralement, les valeurs dans un ABR sont uniques; on n’admet pas de répétition de valeur pour
éviter les confusion . Mais si jamais ceci arrive : par exemple si un arbre contient deux fois la valeur
4, par convention, la deuxième valeur est stockée dans le sous-arbre droit ayant pour racine 4.
La suppression dans un ABR est assez compliqué, c’est pour cela que nous allons
détailler tous les cas possibles.
Pour supprimer un nœud dans un ABR, plusieurs cas de figure peuvent se présenter. Il est
toutefois nécessaire d’obtenir un ABR à l’issue de la suppression.
D’abord il faut chercher l’élément à supprimer, une fois trouvé on se trouve dans l’une
des situations suivantes, soit « n » le nœud à supprimer:
Pour le 3ème cas nous avons besoin d’abord de déterminer le plus proche prédécesseur (maximum
du SAG du nœud n) et le plus proche successeur (minimum du SAD du nœud n).
1) Parcour en largeur
Le parcours en largeur consiste à parcourir l'arbre niveau par niveau. Les nœuds de niveau 0 sont
sont d'abord parcourus puis les nœuds de niveau 1 et ainsi de suite. Dans chaque niveau, les nœuds
sont parcourus de la gauche vers la droite. Le parcours en largeur de l'arbre ci-dessous parcours les
nœuds dans l'ordre
11 | 8 | 14 | 5 | 10 | 13 | 15
Debut
Intialisation(f1);
enfiler(f1, racine);
tantque(!estvide(f1))faire
n1 ← valeurdebut(f1);
ecrire(n1.contenu);
2) Parcour en profondeur
Des parcours en profondeur explorent l’arbre branche par branche où on descend le plus
profondément possible dans l’arbre puis une fois qu’une feuille a été atteinte, on remonte pour
explorer les autres branches en commençant par la branche ‘’la plus basse’’ parmi celles non encore
parcourues.
Le parcours préordre de l’arbre R (s’il n’est pas vide) consiste à visiter le nœud racine (R) ensuite
parcourir récursivement en préordre les sous arbres T1 (sous arbre gauche) puis T2 (sous arbre
droit) ce qui donne : [R, T1, T2] ou (RGD)
Le resultat du parcour en profondeur preffxe det cet arbre est : A | B | D | H | I | E | C | F | G
Il s’agit de parcourir la racine d’abord, ensuite explorer le sous-arbre gauche, et finalement explorer
le sous-arbre droit.
La procédure (récursive) qui affiche les valeurs en parcours préfixe d’un arbre A est:
Finsi
Fin
Ici FilsGauche() et FilsDroite() sont des fonctions qui retourne respectivement le fils gauche et le
fils droit de l’arbre
Le parcours inordre de l’arbre R (s’il n’est pas vide) consiste à parcourir récursivement en inordre
les sous arbres T1 (sous arbre gauche) puis visiter le nœud racine (R) ensuite parcourir
récursivement en inordre T2 (sous arbre droit) ce qui donne : [T1, R, T2] ou (GRD)
H|D|I|B|E|A|F|C|G
l s’agit d’explorer le sous-arbre gauche, visiter la racine et finalement explorer le sous-arbre droit.
La procédure (récursive) qui affiche les valeurs en parcours infixe d’un arbre A est:
Finsi
Fin
c) Parcour postfixe
Le parcours postordre de l’arbre R (s’il n’est pas vide) consiste à parcourir récursivement en inordre
les sous arbres T1 (sous arbre gauche) ensuite parcourir récursivement en inordre T2 (sous arbre
droit) puis visiter le nœud racine (R) ce qui donne : [T1, T2, R] ou (GDR)
H|I|D|E|B|F|G|C|A
Finsi
Fin