• Aucun résultat trouvé

Structure de données : Arbres

N/A
N/A
Protected

Academic year: 2022

Partager "Structure de données : Arbres"

Copied!
14
0
0

Texte intégral

(1)

Structure de données : Arbres

(2)

Définition: un arbre est un ensemble de nœuds organisés à partir d’un nœud distingué appelé racine.

Applications : - organisation des fichiers : unix

- Représentation des pgmes en compilation Propriété intrinsèque : récursivité naturelle.

Exemples d’arbres binaires:

1) Tournoi de Tennis

Abbes Riad Riad

Karim Younes Karim

Karim

y z

2) Expressions arithmétiques

2 y

* - x

/ + x

3

* +

(3)

Vocabulaire

n1

n7 n2

n6 n3

n5 n4

n8

n9 n11

Racine Père de n2, n7

(Ascendant de n9)

n10 Fils gauche de n1

(premier fils de n1) Nœud interne

Sous arbre gauche de n2

Fils droit de n1 (2èmefils de n1) (Frère de n2)

Descendant de n1 Nœud Externe = feuille

(4)

Mesures sur les arbres

Taille=nombre des nœuds Taille (arbre-vide)=0

Taille(<o, B1, B2 >)=1+taille(B1)+taille(B2) Hauteur=niveau d’un nœud x d’un arbre B h(x)=0 si x = racine (B)

h(x)=1+h(y) si y est le père de x

C’est le nombre de liens de la racine vers x.

Hauteur = Profondeur d’un arbre B h(B)=max {h(x); x nœud de B}

Le degré d’un nœud est le nombre de ses fils. Degré(n1)=2, degré(n3)=1

Le degré d’un arbre est le degré maximum de ses nœuds.

n1

n4 n2

n3

n6

n5

n10 n8

n7

n9 h(n1)=0

h(n4)= h(n2)=

h(n1)+1=1

h(n3)= h(n5)=h(n7) =2

h(n6)= h(n9)=3

h(n8)=h(n10)=4

Donc : h(Arbre B)=4

(5)

y z

1) Expressions arithmétiques

2 y

* -

x

/ +

x

3

* +

Utilisation des arbres

(6)

2) Chaînes de caractères

er

tion -

eur orité

eri Inf

orm

ati

que

(7)

3) Arbres généalogiques

-

Ismail Ibrahim

Ishak

Yakoub

Youcef

(8)

• Un arbre binaire est un arbre dont le degré max est égal à 2.

càd chaque nœud possède 0, 1 ou 2 fils.

• Un arbre général est un arbre non binaire.

Arbre binaire

A B C

D E

A B C

D E F

Arbre général

(9)

Parcours en profondeur à main gauche d’un arbre binaire : Examen systématique ordonné de tous les nœuds = traversée de l’arbre.

Pour un arbre :

Pour un nœud :

Montée de droite Montée de

gauche Descente

n1

n2 n3

n4

n5 n6 n7

n8 n9 n11 n12 n13 n14 n15 n16

n20 n19

n18

n17 n21 n22

(10)

Algorithme récursif de parcours d’un arbre binaire Procedure Parcours (A : Arbre);

Begin If A = Arbre-vide then Term else begin

T

1

;

Parcours (g(A));

T

2

;

Parcours (d(A));

T

3

;

end;

End;

(11)

L’algorithme précédent peut être simplifié par les 3 parcours suivants : Préfixe : P-G-D

Infixe : G-P-D Suffixe : G-D-P

P

G D

(12)

Exercices de TD

Exercice 01 : Une expression arithmétique peut être représentée par un arbre binaire.

Soit l’expression arithmétique représentée par l’arbre A : Donner les expressions représentées par A

lorsque A est parcouru en ordre préfixe, infixe et post-fixe.

+

- *

x * 3 +

2 y / x

y z

(13)

SUITE de TD Exercice 02 :

Soit l’expression arithmétique représentée par l’arbre binaire A :

Donner les expressions représentées par A Dans le parcours en profondeur à main droite, préfixe, infixe et post-fixe.

+

- *

x * 3 +

2 y / x

y z

(14)

Transformation d’un arbre général en un arbre binaire (Bijection fils aîné – frère droit ):

- L’arbre binaire se construit par le procédé suivant : étant donné un nœud dans un arbre général, on crée un lien gauche vers son premier fils (fils aîné) et un lien droit vers son frère situé à droite.

- L’arbre général se construit à partir de l’arbre binaire par la conservation des liens gauches et la suppression des liens droits tout en les mettant au même niveau que le fils aîné.

n1

n0

n2 n3 n4

n1

n0

n2

n3

n4

Références

Documents relatifs

Il pourrait, si tel est votre choix, prendre l'attache de votre gendre (et de votre fille par la même occasion), par courrier pour tenter de trouver une solution dans le cadre

L’opération estVide teste si la file avec priorité est vide ou pas, l’opération ajouter insère dans la file un nouvel élément avec sa priorité, l’opération premier

Écrivez maintenant la méthode de tri fusion, qui divise la liste en deux listes de taille égale, trie les sous-listes récursivement puis les fusionnent avec la méthode

Chercher sur Internet l‘algorithme DSW (c’est un algorithme qui prend en entrée un arbre de recherche binaire afin de réaliser son équilibrage) et l’algorithme de

Le probl` eme de cet exercice consiste ` a d´ eterminer le nombre de points du plan contenus dans un rectangle donn´ e.. Ce genre de situation apparait tr` es souvent dans les

d- En supposant qu’il existe une fonction point/2 qui permette de dessiner un point de coordonn´ ees (x, y), d´ efinir une fonction qui dessine la repr´ esentation graphique

Dans le cas de points p-q-i alignés (orientation 0), le point le plus éloigné de P est conservé (dans le tableau donné en exemple ci-dessous, c'est la différence des distances PQ

Dans un cadre g´en´eral, un arbre binaire est une structure dans laquelle chaque nœud comporte une valeur et deux pointeurs ou r´ef´erences vers deux fils : le fils gauche et le