(Rappel) 2.1 Parcours en profondeur d'abord, version itérative
On remplace la pile d'appels par une vraie pile.
Description de l'ALGORITHME (sans précondition) (ici prefixe RGD)
Description de parcourir(arbre: Arbre Binaire)
SI NON estABV(arbre)
p ← nouvellePileVide()
empiler(p, arbre)
TANT QUE NON estPileVide(p)
a ← depiler(p)
visiter(racine(a))
SI NON estABV(droite(a))
empiler(p, droite(a))
Fin SI
SI NON estABV(gauche(a))
empiler(p, gauche(a))
Fin SI
Fin TANT QUE
Fin SI
Renvoyer VIDE
Seul l'ordre des 3 blocs changent dans les 3 versions.
L'algorithme préfixe en français
L'algorithme consiste à :
- Empiler l'arbre dans une Pile
- Tant que la Pile n'est pas vide
- Dépiler le prochain arbre, nommons le a.
- Explorer la racine de l'arbre a
- Empiler le sous-arbre gauche de a si le sous-arbre n'est pas VIDE.
- Empiler le sous-arbre gauche de a si le sous-arbre n'est pas VIDE.
Si l'arbre n'est pas VIDE