0% ont trouvé ce document utile (0 vote)
120 vues11 pages

Structure et Conception des Arbres

Ce document décrit les concepts de base des arbres, notamment les définitions d'un nœud, de la racine, d'une feuille et de la hauteur d'un arbre. Il présente également la structure d'un nœud dans un arbre et donne des exemples d'algorithmes de création d'arbres.
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
120 vues11 pages

Structure et Conception des Arbres

Ce document décrit les concepts de base des arbres, notamment les définitions d'un nœud, de la racine, d'une feuille et de la hauteur d'un arbre. Il présente également la structure d'un nœud dans un arbre et donne des exemples d'algorithmes de création d'arbres.
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Leçon 2 : Les arbres

Université Virtuelle de Côte d'Ivoire


Table des
matières
I - 1- Généralité sur les arbres 3

II - Application 1 : 5

III - 2- Conception de la structure Arbre 6

IV - Application 2 : 8

Ressources annexes 9

Solutions des exercices 10


1- Généralité sur les arbres

1- Généralité sur les


arbres I

1.1- Arbre

Un ARBRE, appelé aussi ARBRE N-AIRE, est un ensemble de nœuds permettant de définir une
hiérarchie sans cycle.

Dans un arbre N-aire, chaque nœud possède au maximum N nœuds suivants. La représentation d'un
arbre en informatique se fait à l'envers : la racine se trouve en haut et les branches se développent vers
le bas.

(cf. p.9) (cf. p.9)


*

L'arbre ci-dessus est un arbre 3-aire de 14 nœuds

1.2- Un nœud

Un NŒUD, appelé aussi SOMMET, contient un ÉLÉMENT et indique les NŒUD SUIVANTS.

Pour reprendre l'image d'un arbre généalogique, nous parlerons de nœuds fils, nœud père et nœud
frère

1.3- La racine

La RACINE d'un arbre est le nœud initial. Tous les autres nœuds de l'arbre suivent directement ou
indirectement la racine.

La racine est le seul nœud sans père.

1.4- Une Feuille

Une FEUILLE est un nœud qui n'a pas de suivant.

Si un arbre n'a qu'un nœud, il s'agit de la racine qui est aussi une feuille

3
1- Généralité sur les arbres

1.5- Une Branche

Une BRANCHE est un chemin qui rejoint deux nœuds.

1.6- La Hauteur d'un nœud

La HAUTEUR d'un nœud est égale au nombre de branches le séparant de la feuille la plus éloignée
plus un.

La hauteur d'un arbre vaut alors la hauteur du nœud racine.

1.7- La profondeur d'un nœud

La PROFONDEUR d'un nœud est égale au nombre de branches le séparant de la racine plus 1.

La profondeur de la racine vaut 1

1.8- Illustration des définitions

Hauteur de l'arbre est 2 + 1 = 3

4
Application 1 :

Application 1 :
II
Exercice [solution n°1 p.10]
[*]

Un arbre est un ensemble

 de branches reliées entre elles

 de nœuds permettant de définir une hiérarchie

de feuilles permettant de définir une


 hiérarchie

[solution n°2 p.10]


Exercice
[*]

L'arbre ci-dessus est un arbre de nœuds

La racine de l'arbre est

La hauteur est

5
2- Conception de la structure Arbre

2- Conception de la
structure Arbre III

Comme pour une liste chaînée,un nœud permet d'accéder aux nœuds fils. Le nœud peut référencer
jusqu'à trois nœuds suivants. Ceux-ci pourront être stockés dans trois attributs nommés gauche,
milieu et droit ou dans un tableau de trois éléments.

Représentation d'un nœud

Tout comme la liste chaînée a été construite, il est simple d'utiliser la structure nœud pour construire
un arbre :

Pour définir les variables utilisées dans l'exemple ci-dessus, il faut :

- Définir le type des éléments de l'arbre :

TYPE Nœud = Structure

gauche : Arbre

milieu : Arbre

droit : Arbre

Info : Entier

Fin Structure

- Définir le type du pointeur :


TYPE Arbre = ^Nœud

- Déclarer une variable pointeur :


Var
un_arbre : Arbre

6
2- Conception de la structure Arbre

- Allouer une cellule mémoire qui réserve un espace en mémoire et donne à un_arbre la valeur de
l'adresse de l'espace mémoire
Allouer(un_arbre)
- Libérer une cellule mémoire qui était occupé par l'élément un_arbre
Desallouer(un_arbre)

- Pour récupérer l'adresse d'une Noeud il faut :


- variable ← @variable

- affecter des valeurs à l'espace mémoire un_arbre :


un_arbre^.Info ← 78
un_arbre^.gauche ← Nil
un_arbre^.milieu ← Nil
un_arbre^.droit ← Nil
- Remarque :
Il est d'ailleurs possible de représenter un arbre avec une écriture standard utilisant des
parenthèses et des crochets. Chaque arbre est alors représenté par une parenthèse ouvrante,
l'information du sommet, suivie de ses sous arbres suivants entre crochets.
Notons que chaque sous arbre est lui-même un arbre qui utilise la même notation.
L'écriture finale est réflexive.
Exemple Création de l'arbre illustrant le schéma ci-dessus :
(55, [premier sous-arbre]-[deuxième sous-arbre]-[troisième sous-arbre]) //Création de la racine
et du premier niveau de l'arbre
Le premier sous-arbre s'écrit : (11, []-[]-[]). //Création du premier sous-arbre simplement car il
constitue un feuille
Le deuxième sous-arbre s'écrit : (60,[(22, []-[]-[])]-[]-[]). //Création du deuxième sous-arbre
avec sa descendance 22
Le troisième sous-arbre s'écrit : (40,[( 33, []-[]-[])]-[(78, []-[]-[])]-[]) //Création du troisième
sous-arbre avec ses descendances 33 et 78
Ce qui donne finalement :
(55 ,
[(11, []-[]-[])]-
[(60,[(22, []-[]-[])]-[]-[])]-
[(40,[( 33, []-[]-[])]-[(78, []-[]-[])]-[])]).
Ce parcourt est appelé parcourt PRÉFIXE.

Remarque
Dans le cas d'un arbre 3-aire. Chaque nœud possède au plus 3 sous arbres que nous appellerons
respectivement gauche, milieu et droit. Pour un arbre N-aire de taille supérieure, il aurait été plus
pratique de stocker les sous arbres dans un tableau. Avec cette conception d'arbre, l'utilisateur de la
classe doit faire attention pour construire l'arbre désiré.

7
Application 2 :

Application 2 :
IV
[solution n°3 p.10]
Exercice
[* ]

Soit le graphique ci-dessus, Complétez l'algorithme suivant pour la création du nœuds b.

Algorithme CréationNoeud

gauche :

milieu :

droit :

val : caractère

Fin Structure

TYPE =

Var

un_arbre_b : Arbre

un_arbre_u : Arbre

un_arbre_e : Arbre

Début

. ← 'b'

.gauche ←

.milieu ←

.droit ←

Fin

8
Ressources annexes

Ressources annexes
>

9
Solutions des exercices

Solutions des exercices


> Solution n°1 Exercice p. 5

Un arbre est un ensemble

 de branches reliées entre elles

 de nœuds permettant de définir une hiérarchie

de feuilles permettant de définir une


 hiérarchie

> Solution n°2 Exercice p. 5

L'arbre ci-dessus est un arbre de 14 nœuds

La racine de l'arbre est k

La hauteur est 3

10
Solutions des exercices

> Solution n°3 Exercice p. 8

Soit le graphique ci-dessus, Complétez l'algorithme suivant pour la création du nœuds b.

Algorithme CréationNoeud

TYPE Nœud = Structure

gauche : Arbre

milieu : Arbre

droit : Arbre

val : caractère

Fin Structure

TYPE Arbre = ^Nœud

Var

un_arbre_b : Arbre

un_arbre_u : Arbre

un_arbre_e : Arbre

Début

Allouer(un_arbre_b)

un_arbre_b^.val ← 'b'

un_arbre_b^.gauche ← @un_arbre_e

un_arbre_b^.milieu ← Nil

un_arbre_b^.droit ← @un_arbre_u

Fin

11

Vous aimerez peut-être aussi