Académique Documents
Professionnel Documents
Culture Documents
3_1.Structures_arborescentes
3_1.Structures_arborescentes
Structures arborescentes
- Arbres binaires
- Arbres binaires de recherche
Sources:
1- Cours les arbres binaires, Larbi. https://www.lri.fr/~fiorenzi/Teaching/AL/C4.pdf
2- Cours algoritmique, Anne Vilnat. http://www.limsi.fr/Individu/anne/coursAlgo
3- Arbres binaires de recherche, François Denis. http://pageperso.lif.univ-mrs.fr/~francois.denis/algoMPCI/chap1.pdf
4- https://developpement-informatique.com/article/177/supprimer-un-noeud-de-larbre-binaire-de-recherche
1. Arbres binaires
2
Chap III: Structures arborescentes
Arbres binaires
Une arborescence est utilisée :
§ Dans la vie de tous les jours : pour représenter des hiérarchies, des classifications,
des partitions,...
§ En informatique pour représenter des informations de ce type et aussi pour :
• l’organisation interne des fichiers en mémoire
• les modes de calcul d’une expression
• l’organisation des données triées
§ Exemple de classification
Quelle logique?
• du plus générique au plus spécifique
• du plus ancien au plus récent
• de la plus haute autorité à la moindre
• du plus complexe au plus simple
© O.Lamouchi
3
Arbres binaires
§ Exemple d’expressions arithmétiques § Terminologie
(x-(2*y))+((x+(y/z))*3)
© O.Lamouchi
4
Chap III: Structures arborescentes
Arbres binaires
§ Définition
• Un arbre binaire c’est:
- soit un arbre vide
- soit une racine avec deux sous-arbres binaires : fils gauche et fils droit
§ La hauteur
• La hauteur d’un nœud est la longueur du plus long chemin de ce nœud aux
feuilles qui en dépendent plus 1.
• La hauteur d’un arbre est la hauteur de sa Racine (L’arbre vide a une hauteur 0)
§ La profondeur (niveau)
• La profondeur d’un nœud est le nombre de nœuds du chemin qui va de la racine
à ce nœud (La racine d’un arbre est à une profondeur 0).
• La profondeur d’un nœud est égale à la profondeur de son père plus 1. (Si un
nœud est à une profondeur p, tous ses fils sont à une profondeur p+1).
© O.Lamouchi
5
Arbres binaires
Chap III: Structures arborescentes
Info : TYPE_INFO
Info Info
FG : *NŒUD @fg @fd @fg @fd
FD : *NŒUD
Info Info Info Info
@fg @fd @fg @fd @fg @fd @fg @fd
FIN STRUCTURE
© O.Lamouchi
6
Arbres binaires
Chap III: Structures arborescentes
• Fonction vide(Arb:ArbreBinaire) retourne Booléen: Vrai si l’arbre binaire est vide, faux
sinon.
Arbres binaires
Chap III: Structures arborescentes
© O.Lamouchi
8
Arbres binaires
Chap III: Structures arborescentes
Source: 3
Procedure PaffichePrefixe(a:ArbreBinaire)
DEBUT
SI Vide(a)=FAUX Alors
FINSI
FIN
© O.Lamouchi
9
Arbres binaires
Chap III: Structures arborescentes
Source: 3
Procedure PaffichePostfixe(a:ArbreBinaire)
DEBUT
SI Vide(a)=FAUX Alors
PaffichePostfixe(FilsGauche(a)) //Appel récursif
FINSI
FIN
© O.Lamouchi
10
Arbres binaires
Chap III: Structures arborescentes
Source: 3
Procedure PafficheInfixe(a:ArbreBinaire)
DEBUT
SI Vide(a)=FAUX Alors
FINSI
FIN
© O.Lamouchi
11