Universit´e Paris-Saclay Master Bioinformatique – M1 BIBS 2015-2016
Algorithmique et complexit´e
Projet not´e : Arbres N-aires
Jusqu’`a maintenant vous avez ´etudi´e les arbres binaires. Il est n´eanmoins possible de repr´esenter
des arbres dont les nœuds peuvent avoir plus que deux fils chacun (et plus qu’une seule cl´e). Il
existe pour cela des structures de donn´ees sp´ecialis´ees comme, par exemple, les B-arbres (B-trees),
les arbres bicolores (red-black trees) ou encore les tries.
Pour ce projet nous allons nous contenter de d´efinir et d’impl´ementer une structure tr`es simple
que l’on appelle arbre N-aire.
1 D´efinition
On appelle arbre N-aire un arbre dont les nœuds peuvent chacun avoir entre 0 et Nfils. De
plus, on impose l’invariant suivant : `a tout moment, tous les nœuds qui sont des fr`eres sont tri´es
dans l’ordre lexicographique.
Figure 1: Un exemple d’arbre N-aire. Ici, Nvaut au
moins 3.
La Figure 1 montre un exemple
d’arbre N-aire. La racine de l’arbre
est ´etiquet´ee par le symbole /, et elle
a deux fils, respectivement ´etiquet´es
etc et home. Le nœud etc n’a pas
de fils. En revanche, le nœud home
a trois fils, respectivement ´etiquet´es
bill,linus et steve.
On dit que home est le nœud par-
ent de bill,linus et steve.
Les nœuds ´etiquet´es etc et home
sont dits fr`eres, puisqu’ils sont les
nœuds fils d’un mˆeme nœud parent.
Pareil pour bill,linus et steve.
En revanche, les nœuds ´etiquet´es
windows.txt et Documents ne sont
pas des fr`eres (car leurs nœuds par-
ents sont diff´erents).
2 Structures de donn´ees
Cr´eez un fichier narbre.h et placez-y les structures suivantes :
•struct Noeud – structure compos´ee de deux champs id et nfils (de type entier) repr´esentant
respectivement l’identifiant et le nombre de fils du nœud courant ; de deux champs fils et
frere (de type pointeur de Noeud) repr´esentant respectivement des liens vers les fils et les
fr`eres du nœud courant ; et d’un champ etiquette (de type pointeur de char) qui retient
l’´etiquette associ´ee au nœud. (R´ef´erez-vous aussi `a la Figure 2.)
•struct NArbre – structure compos´ee d’un champ racine (de type pointeur de Noeud) pour
la racine de l’arbre, et de deux champs nb noeuds et N(de type entier) repr´esentant re-
spectivement le nombre de nœuds pr´esents dans l’arbre et le nombre maximal de fils par
nœud.
1