Académique Documents
Professionnel Documents
Culture Documents
ARBRE
2 0 2 2 - 2 0 2 3 – 3A I N F O R M AT I Q U E – B . H A S S A N
1
Cours Arbres
Arbres Arbres
Intro
Binaires Rouge-Noir
Insertion / Insertion /
Parcours Recherche Rotation
Suppression Suppression
2
Cours Arbres
Insertion Insertion
Parcours Recherche Rotation
/ /
Suppressio Suppressio
n n
• Arbre :structure de données composée d’un ensemble de nœuds.Chaque nœud contient les
informations spécifiques à l’application et des pointeurs vers les autres nœuds (des sous-
arbres)
• Feuilles :les nœuds ne pointant vers aucun autre nœud
• Racine :Nœud de niveau 1 pointé par aucun autre nœud
• Niveau :la racine est au niveau 1.Les autres nœuds ont un niveau qui est augmenté de 1 par
rapport au nœud dont ils dépendent.
• Hauteur (profondeur) d’un arbre :c’est le niveau maximum atteint,(par la branche la plus
longue)
3
Cours Arbres
Insertion Insertion
Parcours Recherche Rotation
/ /
Suppressio Suppressio
n n
• Arbre ordonné :si l’ordre des sous arbres est significatif on dit que l’arbre est ordonné
(exemple arbre généalogique)
• Arbre binaire :type d’arbre ordonné tel que chaque Nœud a au plus deux fils :fils gauche et
fils droit.
• Degré d’un nœud :le nombre de successeurs (de fils) d’un nœud (Arbres a 3 fils = degré 3)
• Degré d’un arbre :si N est le degré maximum des nœuds de l’arbre,l’arbre est dit n-aire.Dans
l’exemple l’arbre est « ternaire »
• Taille :le nombre total de nœuds de l’arbre,ici 9
4
VOCABULAIRE 3
• Arbre binaire complet :c’est un arbre de taille 2k-1 avec k le niveau des feuilles.
k= 3
23-1 = 7 nœuds
• Arbre binaire parfaitement équilibré :si pour chaque nœuds les nombres de nœuds des sous-
arbres gauche et droit différent au plus d’un.
• Arbre binaire équilibré :si pour chaque nœud,les hauteurs des sous-arbres gauche et droit
diffèrent au plus d’un
5
UTILISATION DES ARBRES
• Arbre généalogique
• Tournoi sportif
• Répertoire de fichiers d’un OS
• Document XML /HTML
• Interface graphique d’un logiciel
• Nomenclature d’un objet (voiture composée de moteur, carrosserie, sièges, etc.)
• C lassification des espèces animales
6
(5+ (2*3)) * (10*10+9*9)
LES ARBRES
BINAIRES
8
CELLULE D’UN ARBRE BINAIRE
9
ORGANISATION D’UN ARBRE BINAIRE
10
PARCOURIR UN
ARBRE BINAIRE
11
3 TYPES DE PARCOURS
– Préfixe {2;1;3}
– Suffixe {1;3;2} 1 3
12
EXEMPLE : PARCOURS D’UN ARBRE
GÉNÉRIQUE
3 parcours possibles X
13
IMPLÉMENTATION DU PARCOURS
INFIXE
• Rappel :
Pour notre parcours infixe nous afficherons la clé de la racine entre les clés du sous-arbre de
gauche et du sous-arbre de droite
• Algorithme récursif
14
COMPLEXITÉ DU PARCOURS
• En effet,la procédure Parcours_infixe est appelée deux fois pour chaque nœud de l’arbre (une
fois pour son sous-arbre gauche et une fois pour son sous-arbre droit)
15
RECHERCHE
DANS UN ARBRE
BINAIRE
16
OPÉRATIONS COURANTES
17
RECHERCHER UN ÉLÉMENT PAR SA
CLÉ
Soit une clé k et un pointeur x sur la racine de l’arbre.La fonction RECHERCHER renvoie un
pointeur sur un nœud de clé k s’il en existe une et NULL sinon
ARBRE_RECHERCHER(x, k)
N. B.:
On designe par Clef [x] le clef du noeud X
et non Pas clef indice x
18
RECHERCHE ITÉRATIVE
• ARBRE_RECHERCHER_ITERATIF(x, k)
droite
19
RECHERCHER LE MINIMUM
• On cherche le minimum d’un arbre binaire en suivant les pointeurs gauche de la racine jusqu’à
rencontrer NULL. La procédure qui renvoie l’élément de clé minimum d’un sous-arbre de
racine x s’écrit :
• ARBRE_MINIMUM( x )
20
RECHERCHER LE MAXIMUM
• ARBRE_MAXIMUM( x )
21
FONCTION
D’INSERTION
22
GÉNÉRALITÉS
• L’insertion ou la suppression d’un élément dans un arbre binaire modifie l’ensemble dynamique
de la structure de données.
• La structure doit être modifiée afin de s’assurer qu’elle vérifie toujours les propriétés d’un
arbre de recherche binaire.
• L’insertion est relativement simple alors que la suppression peut poser plus de problèmes.
23
INSERTION
24
INSERTION D’UN ÉLÉMENT Z
CLEF = 13
25
26
27
28
29
30
31
À CE STADE, ON A TROUVÉ LA POSITION OÙ INSÉRER Z (ET SON
PARENT).
32
CAS OÙ L’ARBRE ÉTAIT VIDE
33
ON INSÈRE L’ÉLÉMENT Z À SA PLACE
34