Académique Documents
Professionnel Documents
Culture Documents
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
Structures de données arborescentes.
Objectifs de ce module
• Apporter des compléments sur la notion
d’arbre présentée dans le cours de théorie des
graphes.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
Structures de données arborescentes.
Plan de ce module
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
Structures de données arborescentes.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Compléments sur les arbres.
Plan de ce chapitre
a. Rappels.
b. Compléments sur les arborescences.
c. Parcours des arborescences ordonnées.
d. Arbres binaires.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Compléments sur les arbres.
a. Rappels.
Arbres
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Compléments sur les arbres.
a. Rappels.
Exemples d’arbres :
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Compléments sur les arbres.
a. Rappels.
Exemples de graphes qui ne sont pas des arbres :
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Compléments sur les arbres.
a. Rappels.
Définitions équivalentes d’un arbre
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Compléments sur les arbres.
a. Rappels.
Exemple :
On dénombre
bien 12 sommets
et 11 arêtes dans
ce graphe.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Compléments sur les arbres.
a. Rappels.
Arborescence
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Compléments sur les arbres.
a. Rappels.
Exemple d’arborescence :
r
La racine de cette
arborescence
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Compléments sur les arbres.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Compléments sur les arbres.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Compléments sur les arbres.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Compléments sur les arbres.
z x
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Compléments sur les arbres.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Compléments sur les arbres.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Compléments sur les arbres.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Compléments sur les arbres.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Compléments sur les arbres.
a b b c
c a
f e
d e f
d
g g
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Compléments sur les arbres.
c. Arbres binaires.
Définition
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Compléments sur les arbres.
c. Arbres binaires.
Convention de représentation : on ne représente plus les
arcs avec des flêches.
a
b c
d e f
g h i
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Compléments sur les arbres.
c. Arbres binaires.
Exemple : deux arbres binaires différents (mais deux
arborescences ordonnées identiques).
a a
b c b c
d e f d e f
g h i g h i
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Compléments sur les arbres.
c. Arbres binaires.
Définition récursive
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Compléments sur les arbres.
c. Arbres binaires.
Exemple : le sous-arbre de gauche et le sous-arbre de droite
d’un arbre binaire.
a
b c
d e f
g h i
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Compléments sur les arbres.
c. Arbres binaires.
Arbre binaire complet
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Compléments sur les arbres.
c. Arbres binaires.
Exemple : un arbre binaire complet de hauteur 3
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Compléments sur les arbres.
c. Arbres binaires.
Propriétés d’un arbre binaire complet :
n =2 h+1 - 1
f =2 h
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Compléments sur les arbres.
c. Arbres binaires.
Preuve
h
1+ 2 + 2 2 +... + 2 h =å 2 k =2 h+1 - 1
k=0
c. Arbres binaires.
Hauteur d’un arbre binaire
h +1 £n £ 2 h+1 - 1
log 2 ( n +1) - 1 £ h £ n - 1
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Compléments sur les arbres.
c. Arbres binaires.
Preuve
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Compléments sur les arbres.
c. Arbres binaires.
Arbre binaire équilibré ou arbre A.V.L
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Compléments sur les arbres.
c. Arbres binaires.
Exemple : l’arbre binaire de gauche n’est pas équilibré alors
que celui de droite l’est.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Compléments sur les arbres.
c. Arbres binaires.
Hauteur des arbres binaires équilibrés
3
log 2 ( n +1) - 1 £h £ log 2 ( n +1)
2
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Compléments sur les arbres.
•On distingue :
– Un parcours en largeur.
– Trois parcours en profondeur.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Compléments sur les arbres.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Compléments sur les arbres.
b c
d e f
g h i
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Compléments sur les arbres.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Compléments sur les arbres.
b c
d e f
g h i
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Compléments sur les arbres.
b c
d e f
g h i
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Compléments sur les arbres.
b c
d e f
g h i
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Compléments sur les arbres.
Fin de ce chapitre
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
Structures de données arborescentes.
2. ARBRES BINAIRES DE
RECHERCHE.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Arbres binaires de recherche.
Plan de ce chapitre
a. Définition.
b. Retour sur le parcours infixe.
c. Opérations de requêtes.
d. Insertion et suppression d’un élément.
e. Implémentation par liste chaînée.
f. Implémentation récursive.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Arbres binaires de recherche.
a. Définition.
Arbre binaire de recherche
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Arbres binaires de recherche.
a. Définition.
Exemple : un arbre binaire de recherche.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Arbres binaires de recherche.
a. Définition.
Remarque :
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Arbres binaires de recherche.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Arbres binaires de recherche.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Arbres binaires de recherche.
c. Opérations de requêtes.
Recherche d’un sommet de clé k donnée
c. Opérations de requêtes.
Exemple : pour rechercher la clé 5, on suit le chemin
constitué des sommets de clés 9 4 7 5.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Arbres binaires de recherche.
c. Opérations de requêtes.
Recherche des sommets de clés minimum et maximum :
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Arbres binaires de recherche.
c. Opérations de requêtes.
Exemple : pour rechercher les minimum et maximum, on suit
respectivement les chemins constitués des sommets de clés
9 4 2 et 9 11 15.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Arbres binaires de recherche.
c. Opérations de requêtes.
Successeur et prédécesseur
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Arbres binaires de recherche.
c. Opérations de requêtes.
Recherche du successeur d’un sommet x :
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Arbres binaires de recherche.
c. Opérations de requêtes.
Exemple : le successeur du sommet de clé 4 (resp. 8) est le
sommet de clé 5 (resp. 9).
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Arbres binaires de recherche.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Arbres binaires de recherche.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Arbres binaires de recherche.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Arbres binaires de recherche.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Arbres binaires de recherche.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Arbres binaires de recherche.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Arbres binaires de recherche.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Arbres binaires de recherche.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Arbres binaires de recherche.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Arbres binaires de recherche.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Arbres binaires de recherche.
X X X X X X
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Arbres binaires de recherche.
class node
{
private:
node* left;
node* right;
int value;
};
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Arbres binaires de recherche.
class abr
{
private:
node* first;
public:
--- méthodes de traitement des abr ---
};
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Arbres binaires de recherche.
X X X X X X
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Arbres binaires de recherche.
class node
{
private:
node* left;
node* right;
node* father;
int value;
};
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Arbres binaires de recherche.
class abr
{
private:
node* first;
public:
--- méthodes de traitement des abr ---
};
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Arbres binaires de recherche.
f. Implémentation récursive.
Implémentation en se servant de la définition récursive :
X X X X X
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Arbres binaires de recherche.
f. Implémentation récursive.
La classe “arbre binaire de recherche” :
class abr
{
private:
abr* left;
abr* right;
int value;
public:
--- méthodes de traitement des abr ---
};
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Arbres binaires de recherche.
Fin de ce chapitre
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
Structures de données arborescentes.
Programmation dynamique.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com