Documente Academic
Documente Profesional
Documente Cultură
procedure Taille(a)
if a est vide then procedure Hauteur(a)
return 0 if a est vide then
else return 1
tg Taille(Gauche(a)) else
td Taille(Droit(a)) hg Hauteur(Gauche(a))
return 1 + tg + td hd Hauteur(Droit(a))
end if return 1 + max(hg , hd )
end procedure end if
end procedure
Université Lille 1, ASD, Licence Informatique S4 — Structures arborescentes 17/51 Université Lille 1, ASD, Licence Informatique S4 — Structures arborescentes 18/51
Construction d’arbres binaires Construction d’un arbre équilibré à partir d’une liste
A partir d’une liste d’étiquettes, comment construire un arbre ?
Université Lille 1, ASD, Licence Informatique S4 — Structures arborescentes 19/51 Université Lille 1, ASD, Licence Informatique S4 — Structures arborescentes 20/51
Définition des arbres binaires de recherche Exemple
9
5
Definition
4
Un arbre binaire de recherche (ou ordonné) est un arbre vide, ou
un arbre binaire satisfaisant les trois conditions suivantes 3 4
1 l’élément étiquetant la racine de l’arbre est supérieur ou égal à
tous les éléments étiquetant les nœuds du sous-arbre gauche ; 2 3 5
2 l’élément étiquetant la racine de l’arbre est inférieur à tous les 1 1 9
éléments étiquetant les nœuds du sous-arbre droit ;
1 1 2
3 les deux sous-arbres sont eux-mêmes des arbres binaires de
recherche. 3
1 5
1 2 4 9
Université Lille 1, ASD, Licence Informatique S4 — Structures arborescentes 21/51 Université Lille 1, ASD, Licence Informatique S4 — Structures arborescentes 22/51
procedure Rechercher(e, a)
Ensure: un sous-arbre de a dont la racine est étiquetée par e s’il en existe,
l’arbre vide sinon
if a est vide then
return
? Question else
r Racine(a)
if e = r then
return a
else
Où se trouve la valeur médiane dans un ABR ? if e r then
return Rechercher(e,Gauche(a))
else
return Rechercher(e,Droit(a))
end if
end if
end if
end procedure
Université Lille 1, ASD, Licence Informatique S4 — Structures arborescentes 25/51 Université Lille 1, ASD, Licence Informatique S4 — Structures arborescentes 26/51
Université Lille 1, ASD, Licence Informatique S4 — Structures arborescentes 27/51 Université Lille 1, ASD, Licence Informatique S4 — Structures arborescentes 28/51
Construction d’un ABR
II Faisons le point
9 9
8 5 8 3
2 1 3 2 1 5
propriétés :
la valeur la plus grande est située à la racine du tas
pas d’ordre entre les valeurs des fils d’un nœud (ce n’est pas
un arbre binaire ordonné !)
mais la seconde valeur maximale est nécessairement la valeur
d’un des deux fils de la racine
la hauteur d’un tas de taille n est h = blog2 nc
Université Lille 1, ASD, Licence Informatique S4 — Structures arborescentes 33/51