Arbre binaire : Chaque noeud a au plus deux fils
Remarque : Si la hauteur est n, l'arbre a au plus
noeuds
Chaque noeud est caractérisé par une une valeur (appelée clé, ou étiquette) et ses fils éventuels (c'est à dire le sous-arbre
de gauche et le sous-arbre de droite..
Exemple dans l'arbre binaire précédent,
le noeud
est caractérisé par
,
le noeud
est caractérisé par
et le noeud
par
Un arbre binaire est donc :
soit l'arbre vide
soit la donnée d'une clé et de 2 arbres binaires
3 / Implémentation en Python d'un arbre binaire
Dans la plupart des langages, l'implémentation des arbres se fait à l'aide de 'pointeurs' , c'est-à-dire de variables qui
contiennent l'adresse mémoire d'autres variables.
En langage Python, on utilisera une implémentation utilisant des listes :
Définition récursive :
Un arbre binaire est
soit la liste vide
soit une liste composée d'une clé et de 2 arbres binaires
exemples
arbre0=[]
arbre1=[1,[],[]]
arbre2=[2,arbre0,arbre0]
arbre3=[3,arbre2,arbre1]
arbre4=[4,arbre3,arbre1]
>>> [ 4 , [ 3 , [ 2 , [ ] , [ ] ] , [ 1 , [ ] , [ ] ] ] , [ 1 , [ ] , [ ] ] ]
121 n'a qu'un
fils gauche