Résumé 18 - PARCOURS EN LARGEUR D'ABORD (AB)
Lien vers l'activité : Parcours en largeur d'abord (AB)
Dernière modif. : 31 01 2024
1 - Principe
Le parcours en largeur consiste à lire les étiquettes des noeuds de l'Arbre Binaire en les listant étage par étage, souvent de la gauche vers la droite.
L'ordre de lecture des noeuds donne donc Alice - Bob - Clara - Didier - Eleonore...
2 - Algorithme
L'algorithme de lecture nécessite d'avoir :
- un Arbre à lire
- une File permettant de sortir naturellement le premier arrivé dans la File
Objectif : explorer les noeuds de l'arbre niveau par niveau.
ENTREE : arbre, l'arbre qu'on veut explorer
SORTIE : Vide (sur cet exemple), ou une réponse correspondant à la séquence des noeuds rencontrés.
La fonction explorer est à définir. Ici, on affichera juste la clé ou l'étiquette du noeud.
arbre doit contenir l'Arbre Binaire à explorer
SI NON estArbreVide(arbre)
f
← nouvelleFile()
enfiler(arbre, f)
TANT QUE NON estFileVide(f)
étape 1 : on extrait le prochain AB et on affiche sa racine
arbre_en_cours
← defiler(f)
explorer(racine(arbre_en_cours))
étape 2 : on voit si on rajoute le sous-arbre gauche dans la File
g
← gauche(arbre_en_cours)
SI NON estArbreVide(g)
enfiler(g, f)
Fin Si
étape 3 : on voit si on rajoute le sous-arbre droite dans la File
d
← droite(arbre_en_cours)
SI NON estArbreVide(d)
enfiler(d, f)
Fin Si
Fin Tant Que
Fin Si
Renvoyer VIDE (∅)
3 - Implémentation en version itérative et récursive
1
2
3
4
5
6
7
8
9
10
11
12
13
14 |
|