2.2 Principales op´erations
2.2.1 Structures n´ecessaires
Nœud: Enregistrement
Val : Entier
FG : *Nœud
FD : *Nœud
Fin Enreg
ArbreBin: Enregistrement
Racine : *Nœud
Fin Enreg
2.3 Cr´eation d’un arbre vide
Proc´edure Init( A : *Arbre))
D´ebut
A→Racine←NULL
Fin
Algorithme 1: Cr´eation d’un arbre vide
2.4 V´erification si un arbre est vide
Fonction Vide( A : Arbre)) : Bool´een
D´ebut
Retourner(A.Racine=NULL)
Fin
Algorithme 2: V´erification si un arbre est vide
2.4.1 Parcours d’un arbre
On distingues deux type de parcours pour un arbre : Parcours en profondeur et parcours en largeur.
Pour le parcours en profondeur, il y a 3 sous-types de parcours : Pr´efix´e, infix´e et postfix´e. Dans ce
qui suit nous d´etaillons les diff´erents types de parcours et ce pour afficher les ´el´ements de l’arbre. Pour
effectuer n’importe quel autre traitement, il suffit de remplacer l’instruction d’affichage par le traitement
souhait´e.
Parcours en profondeur pr´efix´e Parcours en profondeur pr´efix´e consiste `a traiter la racine, ensuite
les deux fils.
Proc´edure Pr´efix´e( A : Arbre))
Var
AG,AD : *Arbre
D´ebut
Si (NON(Vide(A)) Alors
Ecrire(A.Racine→Val)
AG→Racine←A.Racine→AG
AD→Racine←A.Racine→AD
Pr´efix´e(AG)
Pr´efix´e(AD)
Fin Si
Fin
Algorithme 3: Parcours Pr´efix´e
En appliquant cette proc´edure sur l’arbre pr´esent´e par la figure 5.2, on obtient l’affichage suivant :
100-120-101-5-3-52-4-15-11-16-12-2
Parcours en profondeur infix´e Parcours en profondeur pr´efix´e consiste `a traiter le fils gauche, en-
suite la racine et en fin le fils droit.
2