Cours Algo II 2021 - Chapitre5
Cours Algo II 2021 - Chapitre5
Cours Algo II 2021 - Chapitre5
LOG
O
Cours Algorithmique ii
Classe: TI1*
Enseignantes: Mme Afef FKIRI
ISET Nabeul
LOG
O
Chapitre 5:
Les structures Arborescentes
Introduction
3
Définitions, Notations et représentations
4
Définitions, Notations et représentations
Terminologie :
Si n=2, l’arbre est dit « Binaire », si n=1, l’arbre est dit liste ou
arbre dégénéré. 6
Définitions, Notations et représentations
Arbre n-aire et Arbre binaire :
Un arbre binaire est
• Soit vide.
• Soit composé d’un élément auquel sont chaînés un sous-arbre
gauche et un sous-arbre droit.
7
Définitions, Notations et représentations
Représentation d’un arbre binaire :
La représentation chaînée des arbres binaires
Gauche : Arbre
Droite : Arbre
Info : élément
FIN ENREGISTREMENT
8
Définitions, Notations et représentations
Soit l’arbre suivant :
10
Définitions, Notations et représentations
Mot des feuilles d’un arbre binaire:
Le mot des feuilles d’un arbre binaire est la chaîne formée de
gauche à droite de la valeur des feuilles de l’arbre.
Exemple Pour l’arbre de la figure précédente, le Mot des
feuilles est « DEH ».
11
Définitions, Notations et représentations
Arbre binaire complet:
Si chaque nœud autre qu’une feuille admet exactement 2
descendants et si toutes les feuilles sont au même niveau, on dit
que l’arbre binaire est « complet »,
La taille d’un arbre binaire complet = 2k-1 où k est le niveau des
feuilles.
12
Définitions, Notations et représentations
Hauteur d’un nœud:
La hauteur d’un arbre est égale
au maximum du niveau des
feuilles.
• La hauteur d’un arbre est
égale à la hauteur de sa
racine.
• La hauteur d’un arbre vide =
=Max + 1
0
• La hauteur d’un nœud = au
maximum des hauteurs du
sous-arbre gauche et du Max = 1
sous-arbre droit + 1.
13
Définitions, Notations et représentations
Facteur d’équilibre :
Le facteur d’équilibre de chaque sous-arbre est associé à sa racine.
Le facteur d’équilibre d’un nœud = hauteur du sous-arbre gauche –
hauteur du sous-arbre droit
14
Définitions, Notations et représentations
Arbre équilibré :
Un arbre est dit équilibré si pour tout nœud p de cet arbre, la
valeur absolue de facteur d’équilibre est inférieure ou égale à 1.
|facteur d’équilibre (p)| <=1
L’arbre de la figure précédente n’est pas équilibré car il existe
des nœuds tels que A, E qui possèdent des facteurs d’équilibre
dont la valeur absolue > 1.
15
Définitions, Notations et représentations
16
Définitions, Notations et représentations
Arbre dégénéré:
Un arbre est dit dégénéré si tous les nœuds de cet arbre ont au
plus un descendant.
Un arbre dégénéré est équivalent à une liste linéaire.
Exemple:
17
Définitions, Notations et représentations
19
Arbres binaires
Parcours d’un arbre binaire : Préfixé
Ce parcours consiste à effectuer dans l’ordre :
1. Le parcours de la racine (Son traitement)
2. Le parcours du sous-arbre gauche.
3. Le parcours du sous-arbre droit.
Pour l’arbre précèdent, on traite les nœuds dans cet ordre :
A, B, F, P, M, H, J, C, D, I, R, E
1
2 8
3
6
9 12
7
4 5 20
10 11
Arbres binaires
Parcours d’un arbre binaire : Infixé
Ce parcours consiste à effectuer dans l’ordre :
1. Le parcours du sous-arbre gauche.
2. Le parcours de la racine (Son traitement)
3. Le parcours du sous-arbre droit.
Pour l’arbre précèdent, on traite les nœuds dans cet ordre :
P, F, M, B, H, J, A, I, D, R, C, E
7
4 11
2
5
9 12
6
1 3 21
8 10
Arbres binaires
Parcours d’un arbre binaire : Postfixé
Ce parcours consiste à effectuer dans l’ordre :
1. Le parcours du sous-arbre gauche.
2. Le parcours du sous-arbre droit.
3. Le parcours de la racine (Son traitement)
Pour l’arbre précèdent, on traite les nœuds dans cet ordre :
P, M, F, J, H, B, I, R, D, E, C, A
12
6 11
3
5
9 10
4
1 2
7 822
Arbres binaires
Parcours d’un arbre binaire : Préfixé
Version récursive de l’algorithme
Afficher(A)
Préfixé(B) Afficher(B)
Préfixé(D) Afficher(D)
Préfixé(Nil)
Préfixé(Nil)
Préfixé(E) Afficher(E)
Préfixé(Nil)
Préfixé(Nil)
Préfixé(F) Afficher(F)
Préfixé(Nil)
Préfixé(G) Afficher(G)
Préfixé(H) Afficher(H) A B D E F G H
Préfixé(Nil)
Préfixé(Nil)
Préfixé(Nil)
Arbres binaires
Parcours d’un arbre binaire : Préfixé
Version Itérative de l’algorithme
Rac ←rac↑.gauche
FIN FAIRE PROCEDURE Préfixé (Racine : Arbre)
Dépiler (p, rac) VAR
Rac ←rac↑.droite Rac : Arbre, p : Pile
FIN FAIRE DEBUT
FIN Init_pile (p)
Rac ←Racine
TANT QUE (rac <> NIL) ou (non Pile_vide
(p)) FAIRE
TANT QUE rac <> NIL FAIRE
Traiter (rac)
Empiler (p, rac)
Arbres binaires
Parcours d’un arbre binaire : Préfixé
Version Itérative de l’algorithme
Rac
@D
@B
@H A B D E F G H
@A
@G
@F
Nil
@
@
P Nil
Arbres binaires
Parcours d’un arbre binaire : Préfixé
Version Itérative de l’algorithme
Jusqu’à
Afficher (rac) rac = NIL
Empiler (p, rac)
Jusqu’à Rac ←rac↑.gauche
rac = NIL
@D
@D Dépiler (p, rac)
Rac ←rac↑.droite
@D
@D
@B
@E
@D
@H
@G
@D
@F
@A
@D
A B D E F G H
Rac @H
@G
Nil
@H
Nil
@E
@F
@G
@E
NIL
@B
Nil
Nil
@A
@B
@A
@D
P Nil
@
Arbres binaires
Parcours d’un arbre binaire : Infixé
Version récursive de l’algorithme