# On suppose que l'on dispose d'une classe File # avec les méthodes enfile et défile. def parcours_largeur(arbre): nœuds = File() nœuds.enfile(arbre) while not nœuds.est_vide(): nœud = nœuds.défile() if nœud is not None: print(nœud.élément) nœuds.enfile(nœud.gauche) nœuds.enfile(nœud.droite) def parcours_largeur(arbre): # Avec les niveaux nœuds = File() nœuds.enfile((arbre, 0)) while not nœuds.est_vide(): nœud, niveau = nœuds.défile() if nœud is not None: print(nœud.élément, niveau) nœuds.enfile((nœud.gauche, niveau + 1)) nœuds.enfile((nœud.droite, niveau + 1))
Un arbre binaire est étiqueté avec des lettres.
- Un parcours préfixe donne un affichage
ALORHGIMET.- Un parcours infixe donne un affichage
OLHRAMIEGT.
A, donc la racine est étiquetée A. Il n'y a qu'un seul A, on déduit alors aussi que :
OLHR en infixe, et donc LORH en préfixe.MIEGT en infixe, et donc GIMET en préfixe.L, et G à droite.
O en préfixe comme en infixe.RH en préfixe et HR en infixe.IME en préfixe et MIE en infixe.T en préfixe comme en infixe.ALGORITHME.