Les Arbres Rappels
Les Arbres Rappels
Les Arbres Rappels
F. OUAZAR LOUNNACI
Définitions
Un arbre est une structure de données arborescente récursive.
Cette structure de données (Dynamique) représente un
ensemble de valeurs organisées hiérarchiquement (non linéaire)
Chaque valeur est stockée dans un nœud
Les nœuds sont relié entre eux par des arêtes qui représentent la
relation père/fils
Un nœud peut avoir zéro ou plusieurs successeurs (appelés
descendants ou fils) et au maximum un prédécesseur (appelé
ascendant ou père).
La racine de l’arbre ne possède pas de prédécesseur.
Les nœuds feuilles (ou nœuds terminaux) n’ont pas de
successeurs.
A : racine de l’arbre
B, E, F, G : feuilles ou
nœuds terminaux
C, D : nœuds internes
C, B, D sont les
descendants de A ou fils
de A
A est l’ascendant (père)
de B, C et D
E, F sont les descendants
(ou fils) de C
C est l’ascendant (ou
père) de E et F
Degré d’un nœud
Le degré d’un nœud représente le nombre de successeurs de
ce nœud.
Le degré d’un arbre est égal au maximum des degrés de ses
nœuds.
D’une manière générale, un arbre de degré n est appelé
arbre n-aire.
Représentation contigüe ou
séquentielle
Représentation chainée dynamique
L’arbre sera représenté par une structure dynamique non linéaire.
Chaque élément sera composé de trois champs :
un champ info représentant l’information contenue dans le
noeud,
un champ succ_gauche donnant l’adresse du fils gauche en
mémoire
un champ succ_droit donnant l’adresse du fils droit en
mémoire.
Element = Enregistrement
info : <type> ; /* type de l’information contenue dans un noeud*/
succ_gauche : ptr Element;
succ_droit : ptr Element ;
Finenreg ;
noeud = ptr Elément ;
Exemple : Reprenons toujours le même exemple de l’arbre binaire
Element = Enregistrement
info : caractère ;
succ_gauche : ptr Element;
succ_droit : ptr Element ;
Finenreg ;
noeud = ptr Element ;
Racine : noeud ;
Primitives de manipulation d’un AB
Exemple
Exemple
Exemple