class Arbre:
def __init__(self, etiquette):
self.v = etiquette
self.fg = None
self.fd = None
def parcours(arbre, liste):
if arbre != None:
parcours(arbre.fg, liste)
liste.append(arbre.v)
parcours(arbre.fd, liste)
return liste
def insere(arbre, cle):
""" arbre est une instance de la classe Arbre qui implémente
un arbre binaire de recherche.
"""
if cle < arbre.v: #(1)
if arbre.fg != None: #(2)
insere(arbre.fg, cle)
else:
arbre.fg = Arbre(cle)
else:
if arbre.fd != None: #(3)
insere(arbre.fd, cle)
else:
arbre.fd = Arbre(cle)
Commentaire
On parcourt la liste par indice, si on a déjà rencontré l'élément alors on met à jour sa liste d'indice sinon on crée une clé dans le dictionnaire dont la valeur est la liste contenant l'indice.