Académique Documents
Professionnel Documents
Culture Documents
El Houssaine OUTFARDINE
CPGE Tanger
Lycee Moulay EL-Hassan
outfardine.cpge@gmail.com
Introduction Terminologie de base Arbres binaires Parcours d’un arbre binaire Arbres binaires de recherche
Plan
1 Introduction
2 Terminologie de base
3 Arbres binaires
Arbres Binaires 1 / 38
Introduction Terminologie de base Arbres binaires Parcours d’un arbre binaire Arbres binaires de recherche
Introduction
Les arbres et les structures arborescentes sont très utilisés en informatique. D’une part
les informations sont souvent hiérarchisées, et se présentent donc naturellement sous
une forme arborescente, et d’autre part de nombreuses structures de données parmi les
plus efficaces sont représentées par des arbres (les tas, les arbres binaires de recherches,
les B-arbres, les forêts,...).
Arbres Binaires 2 / 38
Introduction Terminologie de base Arbres binaires Parcours d’un arbre binaire Arbres binaires de recherche
Terminologie de base
Définition 1
Un arbre est un ensemble d’éléments appelés nœuds reliés par des arcs.
Arbres Binaires 3 / 38
Introduction Terminologie de base Arbres binaires Parcours d’un arbre binaire Arbres binaires de recherche
Terminologie de base
Les arbres sont enracinés. Une fois la racine définie tous les nœuds admettent un
niveau.
Les arbres ont des nœuds internes et des feuilles (nœuds externes). Chaque
nœud (à l’exception de la racine) a un parent et admet zéro ou plusieurs fils.
Arbres Binaires 4 / 38
Introduction Terminologie de base Arbres binaires Parcours d’un arbre binaire Arbres binaires de recherche
Terminologie de base
Exemples :
Arbres Binaires 5 / 38
Introduction Terminologie de base Arbres binaires Parcours d’un arbre binaire Arbres binaires de recherche
Terminologie de base
Exemples :
((a-b)*(c/d))+e
Arbres Binaires 6 / 38
Introduction Terminologie de base Arbres binaires Parcours d’un arbre binaire Arbres binaires de recherche
Terminologie de base
Exemples :
Arbres Binaires 7 / 38
Introduction Terminologie de base Arbres binaires Parcours d’un arbre binaire Arbres binaires de recherche
Terminologie de base
Définition récursive :
Un nœud unique est un arbre. Dans ce cas il est aussi la racine de l’arbre.
Arbres Binaires 8 / 38
Introduction Terminologie de base Arbres binaires Parcours d’un arbre binaire Arbres binaires de recherche
Terminologie de base
Définition récursive :
alors on peut construire un arbre en associant comme père unique aux nœuds
n1 , n2 , . . . , nk , le nœud n. dans ce nouvel arbre, n est la racine et A1 , A2 , . . . , Ak sont
les sous arbres de cette racine. Les nœuds n1 , n2 , . . . , nk , sont appelés les fils du
nœud n.
Arbres Binaires 9 / 38
Introduction Terminologie de base Arbres binaires Parcours d’un arbre binaire Arbres binaires de recherche
Terminologie de base
Si n1 , n2 , . . . , nj , est une suite de nœuds telle que ni est le père de ni+1 pour i allant
de 1 à j-1, alors cette suite est appelée chemin entre le nœud n1 et le nœud nj .
Arbres Binaires 10 / 38
Introduction Terminologie de base Arbres binaires Parcours d’un arbre binaire Arbres binaires de recherche
Terminologie de base
Ascendants et descendants :
⋄ S’il existe un chemin entre les nœuds a et b alors a est dit ascendant de b (ou
ancêtre), b et dit descendant de a.
⋄ Tout nœud est un de ses descendants et un de ses ascendants.
⋄ Tout nœud ascendant ou descendant d’un nœud différent de lui-même est un
ascendant ou descendant propre.
Arbres Binaires 11 / 38
Introduction Terminologie de base Arbres binaires Parcours d’un arbre binaire Arbres binaires de recherche
Terminologie de base
Ascendants et descendants :
Arbres Binaires 12 / 38
Introduction Terminologie de base Arbres binaires Parcours d’un arbre binaire Arbres binaires de recherche
Terminologie de base
Ascendants et descendants :
Arbres Binaires 13 / 38
Introduction Terminologie de base Arbres binaires Parcours d’un arbre binaire Arbres binaires de recherche
Terminologie de base
Hauteur et profondeur :
La hauteur d’un nœud dans un arbre est la longueur du plus long chemin que
l’on peut mener entre ce nœud et une feuille de l’arbre.
⋄ La hauteur de 3 ?
⋄ La hauteur de l’arbre ?
Arbres Binaires 14 / 38
Introduction Terminologie de base Arbres binaires Parcours d’un arbre binaire Arbres binaires de recherche
Terminologie de base
Hauteur et profondeur :
La hauteur d’un nœud dans un arbre est la longueur du plus long chemin que
l’on peut mener entre ce nœud et une feuille de l’arbre.
⋄ La hauteur de 3 est 2.
⋄ La hauteur de l’arbre est 3.
Arbres Binaires 15 / 38
Introduction Terminologie de base Arbres binaires Parcours d’un arbre binaire Arbres binaires de recherche
Terminologie de base
Hauteur et profondeur :
⋄ La profondeur de 3 est : 1.
⋄ La hauteur de 3 est 2.
Arbres Binaires 16 / 38
Introduction Terminologie de base Arbres binaires Parcours d’un arbre binaire Arbres binaires de recherche
Terminologie de base
Arbres Binaires 17 / 38
Introduction Terminologie de base Arbres binaires Parcours d’un arbre binaire Arbres binaires de recherche
Terminologie de base
L’ordre gauche-droit peut être prolongé pour comparer des nœuds qui ne sont ni
ascendants ni descendants.
Si b et c sont deux frères, que b et à gauche de c, tout descendant de b est à
gauche de tout descendant de c.
⋄ 2 est à gauche de 3.
⋄ 5 est à gauche de 7
⋄ 4 est à gauche de 9
⋄ 3 n’est ni à gauche ni à droite de 9.
Arbres Binaires 18 / 38
Introduction Terminologie de base Arbres binaires Parcours d’un arbre binaire Arbres binaires de recherche
Définitions :
Un arbre binaire est un arbre dont chaque nœud a au maximum deux fils.
Les arbres binaires distinguent le fils gauche du fils droit.
Ces deux arbres binaires sont différents :
Arbres Binaires 19 / 38
Introduction Terminologie de base Arbres binaires Parcours d’un arbre binaire Arbres binaires de recherche
Arbres Binaires 20 / 38
Introduction Terminologie de base Arbres binaires Parcours d’un arbre binaire Arbres binaires de recherche
Un arbre binaire complet est un arbre binaire dont tous les nœud internes ont
deux fils et toutes les feuilles sont au même niveau.
Arbres Binaires 21 / 38
Introduction Terminologie de base Arbres binaires Parcours d’un arbre binaire Arbres binaires de recherche
Arbres Binaires 22 / 38
Introduction Terminologie de base Arbres binaires Parcours d’un arbre binaire Arbres binaires de recherche
∑hi=−01 2i = 2h − 1
On en déduit que la hauteur h(A) d’un arbre binaire A contenant n noeuds est au
moins égale à ⌊log2 (n))⌋ + 1.
Arbres Binaires 23 / 38
Introduction Terminologie de base Arbres binaires Parcours d’un arbre binaire Arbres binaires de recherche
∑hi=−01 2i = 2h − 1
On en déduit que la hauteur h(A) d’un arbre binaire A contenant n noeuds est au
moins égale à ⌊log2 (n))⌋ + 1.
Preuve :
Si A est un arbre de hauteur h et comportant n noeuds, on a :
1 + 2 + · · · + 2h−2 = 2h−1 − 1 < n ≤ 1 + 2 + · · · + 2h−1 = 2h − 1
soit 2h−1 ≤ n < 2h et donc h − 1 ≤ log2 (n) < h qui donne le résultat.
Remarque 1
La hauteur minimale ⌊log2 (n))⌋ + 1 est atteinte lorsque l’arbre est complet.
Arbres Binaires 23 / 38
Introduction Terminologie de base Arbres binaires Parcours d’un arbre binaire Arbres binaires de recherche
Principe :
Algorithme 1 : Parcours
Entrées : Arbre A
Sorties : Liste de valeurs de A
1 si A ! = Nil alors
// Traitement avant
2 Parcours (A→fg)
// Traitement entre
3 Parcours (A→fd)
// Traitement après
4 sinon
5 Retourne vide
Arbres Binaires 24 / 38
Introduction Terminologie de base Arbres binaires Parcours d’un arbre binaire Arbres binaires de recherche
Arbres Binaires 25 / 38
Introduction Terminologie de base Arbres binaires Parcours d’un arbre binaire Arbres binaires de recherche
Arbres Binaires 25 / 38
Introduction Terminologie de base Arbres binaires Parcours d’un arbre binaire Arbres binaires de recherche
Arbres Binaires 26 / 38
Introduction Terminologie de base Arbres binaires Parcours d’un arbre binaire Arbres binaires de recherche
Arbres Binaires 26 / 38
Introduction Terminologie de base Arbres binaires Parcours d’un arbre binaire Arbres binaires de recherche
Arbres Binaires 27 / 38
Introduction Terminologie de base Arbres binaires Parcours d’un arbre binaire Arbres binaires de recherche
Arbres Binaires 27 / 38
Introduction Terminologie de base Arbres binaires Parcours d’un arbre binaire Arbres binaires de recherche
Arbres Binaires 28 / 38
Introduction Terminologie de base Arbres binaires Parcours d’un arbre binaire Arbres binaires de recherche
Arbres Binaires 28 / 38
Introduction Terminologie de base Arbres binaires Parcours d’un arbre binaire Arbres binaires de recherche
Un arbre binaire de recherche (ou ABR) est une structure de donnée qui permet de
représenter un ensemble de valeurs si l’on dispose d’une relation d’ordre sur ces
valeurs. Les opérations caractéristiques sur les arbres binaires de recherche sont
l’insertion, la suppression, et la recherche d’une valeur. Ces opérations sont peu
coûteuses si l’arbre n’est pas trop déséquilibré.
Définition 2
Un arbre binaire de recherche (ABR) est un arbre étiqueté tel que pour tout nœud n :
Tout nœud du sous arbre gauche a une valeur inférieure ou égale à la valeur de n.
Tout nœud du sous arbre droit a une valeur supérieure à la valeur de n.
Arbres Binaires 29 / 38
Introduction Terminologie de base Arbres binaires Parcours d’un arbre binaire Arbres binaires de recherche
Exemple :
Arbres Binaires 30 / 38
Introduction Terminologie de base Arbres binaires Parcours d’un arbre binaire Arbres binaires de recherche
Exemple :
Si on fait un parcours infixe de l’arbre, on obtient la liste des valeurs des nœuds
triée en ordre croissant.
Dans l’exemple :
3 − 4 − 5 − 9 − 12 − 18 − 19 − 20
Arbres Binaires 30 / 38
Introduction Terminologie de base Arbres binaires Parcours d’un arbre binaire Arbres binaires de recherche
Exemple :
Arbres Binaires 31 / 38
Introduction Terminologie de base Arbres binaires Parcours d’un arbre binaire Arbres binaires de recherche
Caractéristiques :
Pour accéder à la clé la plus petite (resp. la plus grande) dans un ABR il suffit de
descendre sur le fils gauche (resp. sur le fils droit) autant que possible. Le dernier
noeud visité, qui n’a pas de fils gauche (resp. droit), porte la valeur la plus petite (resp.
la plus grande) de l’arbre.
Arbres Binaires 32 / 38
Introduction Terminologie de base Arbres binaires Parcours d’un arbre binaire Arbres binaires de recherche
Arbres Binaires 33 / 38
Introduction Terminologie de base Arbres binaires Parcours d’un arbre binaire Arbres binaires de recherche
Le principe est le même que pour la recherche. Un nouveau noeud est crée avec la
nouvelle valeur et inséré à l’endroit où la recherche s’est arrêtée.
Arbres Binaires 34 / 38
Introduction Terminologie de base Arbres binaires Parcours d’un arbre binaire Arbres binaires de recherche
L’opération de suppression sur un arbre de recherche binaire est plus compliquée que
celles d’ajout et de recherche. Fondamentalement, elle peut être divisée en deux
étapes :
Arbres Binaires 35 / 38
Introduction Terminologie de base Arbres binaires Parcours d’un arbre binaire Arbres binaires de recherche
Arbres Binaires 36 / 38
Introduction Terminologie de base Arbres binaires Parcours d’un arbre binaire Arbres binaires de recherche
Arbres Binaires 37 / 38
Introduction Terminologie de base Arbres binaires Parcours d’un arbre binaire Arbres binaires de recherche
Arbres Binaires 38 / 38