Vous êtes sur la page 1sur 15

Chapitre 1 les arbres binaire de recherche

Dans ce chapitre, nous allons définir toute une série de notions de base
dans le domaine des arbres binaire de recherche. Ces rappels seront utiles
au lecteur de manière à posséder ces notions, qui seront sans cesse
utilisées.

1. Généralités
Un arbre est une structure de données permettant de stocker un ensemble
d’ ́é léments et il consiste en une collection de nœuds et d’arêtes (on
utilisera aussi le terme arc pour désigner une arête).

Un nœud permet de stocker un élément de cet ensemble et une arête (arc)


est un lien entre deux nœuds. L’organisation de l’arbre est telle que deux
nœuds quelconques de l’arbre sont relies entre eux par un chemin unique.

Un chemin est une suite de nœuds distincts dans laquelle deux nœuds
successifs sont reliés par une arête. Un nœud peut posséder des fils Un
nœud y est le fils d’un nœud x. Si y se situe en-dessous de x dans l’arbre et
s’il est relié à ce nœud par une arête. Un nœud x possède ́ également un
père il s’agit du nœud ayant X comme fils. Les nœuds qui n’ont pas de fils
sont appelés des feuilles. Le nœud au sommet de l’arbre est appelé la racine
et il ne possède pas de père.
Un arbre binaire est un arbre, ou chaque nœud possède au plus deux fils
appelés fils gauche et fils droit.
. Le sous-arbre gauche d’un nœud x est le sous-arbre du fils gauche de x. Le
sous-arbre droit d’un nœud x est le sous-arbre du fils droit de x. Un sous-
arbre est vide s’il ne contient pas d’éléments ; par exemple si x n’a pas de
fils droit, alors le sous-arbre droit de x est vide.

2. Profondeur d’un nœud

La profondeur d’un nœud x notée d(x), est le nombre d’arcs sur le


chemin allant de la racine de l’arbre au nœud x plus 1.
3. Hauteur d’un nœud

La hauteur d’un nœud x notée h(x), est le nombre d’arcs sur le chemin
allant de x a la feuille la plus profonde du sous-arbre de x.

4. Parcours d’un arbre


Un parcours d'arbre énumère toutes les étiquettes des noeuds d'un arbre
selon un ordre choisi par avance.

Nous avons deux types de parcours : parcours en profondeur: parcours en


largeur:

3. Parcours en profondeur:

3.1 Ordre préfixe :


On liste chaque sommet la première fois qu’on le rencontre dans la balade.
3.2 Ordre post-fixé
On liste chaque sommet la dernière fois qu’on le rencontre.
3.3 Ordre infixé
On liste chaque sommet ayant un fils gauche la seconde fois qu’on le voit et
chaque sommet sans fils gauche la première fois qu’on le voit.
2.2 Parcours en largeur :
Types d'arbres binaires

Un arbre binaire entier est un arbre dont tous les nœuds possèdent zéro ou
deux fils.
Un arbre binaire parfait est un arbre binaire entier dans lequel toutes les
feuilles sont à la même hauteur.

L'arbre binaire parfait est parfois nommé arbre binaire complet


.Cependant certains définissent un arbre binaire complet comme étant un
arbre binaire entier dans lequel les feuilles ont pour profondeur n ou n-1
pour n donné
Les opérations sur les arbres binaires

Recherche d’une valeur.


La recherche d’une valeur dans un ABR consiste à parcourir une branche en
partant de la racine, en descendant chaque fois sur le fils gauche ou sur le
fils droit suivant que la clé portée par le nœud est plus grande ou plus petite
que la valeur cherchée. La recherche s’arrête dès que la valeur est
rencontrée ou que l’on a atteint l’extrémité d’une branche
(le fils sur lequel il aurait fallu descendre n’existe pas).
Insertion d’une nouvelle valeur.
Le principe est le même que pour la recherche. Un nouveau nœud est créé
avec la nouvelle valeur et insère `à l’endroit où la recherche s’est arrêtée.

Suppression d’un noeud.L’operation dépend du nombre de fils du nœud


`à supprimer.

Cas 1:
Le nœud à supprimer n’a pas de fils, c’est une feuille. Il suffit de décrocher le
nœud de l’arbre, c’est-`a-dire de l’enlever en modifiant le lien du père, s’il
existe, vers ce fils. Si le père n’existe pas l’arbre devient l’arbre vide.

Cas 2 :
Le nœud à supprimer a un fils et un seul. Le nœud est décroché de l’arbre
comme dans le cas 1. Il est remplacé par son fils unique dans le nœud père,
si ce père existe. Sinon l’arbre est réduit au fils unique du nœud supprimé.

Cas 3 :
Le nœud à supprimer p a deux fils. Soit q le nœud de son sous-arbre gauche
qui a la valeur la plus grande (on peut prendre indifféremment le nœud de
son sous-arbre droit de valeur la plus petite). Il suffit de recopier la valeur
de q dans le nœud p et de décrocher le nœud puisque le nœud q a la valeur
la plus grande dans le fils gauche, il n’a donc pas de fils droit, et peut-être
décrocher comme on l’a fait dans les cas 1 et 2.

Vous aimerez peut-être aussi