4.4 Exemples
5.1.1 Quelques concepts de combinatoire
Nous rappelons quelques concepts de combinatoire indispensables pour la suite du chapitre (voir Riordan (2002) et Flajolet and Sedgewick (2009) pour plus de d´etails). D´efinition 5.1.1 (Graphe) Un graphe simple non-orient´e G est un ensemble (S, A) avec :
• S l’ensemble des sommets de G ;
• A ⊂ P2(S) un ensemble de paires d’´el´ements de V appel´e ensemble des arˆetes de G.
P2(S) d´esigne l’ensemble des parties de cardinalit´e 2 de S.
Pour un graphe simple non-orient´e, on appelle chemin un ensemble cons´ecutif d’arˆetes reliant deux sommets entre eux. La longueur d’un chemin est le nombre d’arˆetes le constituant.
D´efinition 5.1.2 (Arbre) Un arbre est un graphe simple non-orient´e G = (S, A) qui est :
• acyclique : il n’existe aucun chemin commen¸cant et terminant par le mˆeme som-met ;
• connexe : pour tout couple de sommets de S, il existe un chemin permettant de les relier.
La figure 5.1 montre un exemple d’arbre. Concernant les arbres, les sommets S sont aussi appel´es nœuds.
D´efinition 5.1.3 (Arbre enracin´e) Un arbre G = (S, A) est dit enracin´e s’il existe un nœud que l’on distingue sp´ecifiquement des autres et que l’on appelle racine.
Pour un arbre enracin´e, on appelle profondeur d’un nœud la longueur du chemin reliant directement la racine au nœud en question. Lorsque l’arbre est enracin´e, il devient un graphe orient´e. Les arˆetes de A deviennent des arcs : la paire de sommets d´efinissant une arˆete devient ordonn´ee. Le sommet de d´epart de chaque arc est donn´e par le nœud le moins profond (et le sommet d’arriv´ee par le nœud le plus profond). Dans le cas d’un
5.1. Cadre combinatoire 87
Fig. 5.1 – Exemples d’arbres. Si on les consid`ere non orient´es, les trois graphes repr´ e-sentent le mˆeme arbre. L’arbre (3) est un arbre enracin´e. La racine est le nœud marqu´e par deux traits et sera toujours repr´esent´ee par le nœud en bas de l’arbre. Les fl`eches indiquent le sens des arcs.
arbre, lorsque deux sommets sont reli´es entre eux par un arc, le sommet de d´epart est appel´e nœud parent du sommet d’arriv´ee (le sommet d’arriv´e est appel´e nœud fils du sommet de d´epart).
D´efinition 5.1.4 (Arbre planaire enracin´e) Un arbre enracin´e est dit planaire si les sous-arbres provenant d’un mˆeme sommet sont ordonn´es entre eux et repr´esent´es de gauche `a droite.
Fig. 5.2 – Exemples d’arbres planaires enracin´es. Bien que ces deux graphes soient iden-tiques en tant qu’arbres enracin´es, ils deviennent deux objets distincts en tant qu’arbres planaires enracin´es.
Il existe plusieurs fa¸cons de parcourir un arbre planaire enracin´e. L’une des plus connues est le parcours en profondeur.
D´efinition 5.1.5 (Parcours en profondeur d’un arbre) Un arbre planaire enracin´e est parcouru en profondeur si :
• le premier nœud visit´e est la racine ;
• pour un nœud donn´e, l’ordre de visite des sous-arbres correspond `a leur position de gauche `a droite (la racine est plac´ee en bas de l’arbre) ;
• une fois que tous les sous-arbres d’un nœud ont ´et´e visit´es, la visite se poursuit par le nœud parent ;
• le parcours de l’arbre est termin´e lorsque tous les sous-arbres de la racine ont ´et´e visit´es.
La figure 5.3 montre un exemple de parcours en profondeur. Le parcours en profon-deur permet de coder les arbres planaires enracin´es par un mot de Dyck (voir Knuth (1997 (3rd edition)).
D´efinition 5.1.6 (Mot de dyck) Un mot w construit `a partir de l’alphabet V = {z, z0} est un mot de Dyck si :
• w comporte autant de lettres z que de lettres z0;
• tout pr´efixe de w comporte un nombre de lettres z sup´erieur ou ´egal au nombre de lettres z0.
Par exemple, w1 = zzz0z0 et w2 = zzz0zz0z0 sont des mots de Dyck. Nous avons alors :
D´efinition 5.1.7 (Mot de dyck associ´e `a un arbre planaire enracin´e) Un arbre planaire enracin´e peut ˆetre cod´e bijectivement par un mot de Dyck sur l’alphabet V = {z, z0} de la fa¸con suivante :
• l’arbre est visit´e suivant le parcours en profondeur ;
• chaque arˆete parcourue du nœud parent vers le nœud fils est cod´ee par la lettre z ; • chaque arˆete parcourue du nœud fils vers le nœud parent est cod´ee par la lettre z0.
Fig. 5.3 – Mot de Dyck associ´e `a un arbre planaire enracin´e. Le parcours en profondeur est donn´e par les fl`eches en pointill´e.
Il est possible d’´etendre les notions pr´ec´edentes lorsque des ´etiquettes peuvent ˆetre associ´ees aux nœuds de l’arbre. Dans ce cas, l’arbre est dit ´etiquet´e. Nous ´etendons alors la d´efinition des mots de Dyck de la fa¸con suivante :
5.1. Cadre combinatoire 89
D´efinition 5.1.8 (Mot de dyck g´en´eralis´e) Soit L = {l1, . . . , lm} un ensemble de m ´etiquettes. Un mot w construit `a partir de l’alphabet V = {zli, zl0i}i∈{1,...,m} est un mot de Dyck si :
• pour i ∈ {1, . . . , m}, w comporte autant de lettres zli que de lettres zl0
i;
• pour i ∈ {1, . . . , m}, tout pr´efixe de w comporte un nombre de lettres zli sup´erieur ou ´egal au nombre de lettres zl0i.
Les mots w1 = zl1zl1zl0
1zl0
1 et w1 = zl1zl2zl1zl0
2zl0
1zl0
1 sont des exemples de mots de Dyck sur l’alphabet V = {zl1, zl01, zl2, zl02}. Les arbres planaires enracin´es et ´etiquet´es peuvent ´egalement ˆetre cod´es par un mot de Dyck au sens de la d´efinition 5.1.8 :
D´efinition 5.1.9 (Mot de Dyck associ´e `a un arbre planaire enracin´e ´etiquet´e) Soit L = {l1, . . . , lm} un ensemble de m ´etiquettes. Un arbre planaire enracin´e et ´etiquet´e peut ˆetre cod´e bijectivement par un mot de Dyck sur l’alphabet V = {zli, zl0i}i∈{1,...,m} de la fa¸con suivante :
• l’arbre est visit´e suivant le parcours en profondeur ;
• le mot de Dyck commence par la lettre zl et se finit par la lettre zl0 avec l ∈ L l’´etiquette de la racine.
• chaque arˆete parcourue du nœud parent vers le nœud fils est cod´ee par la lettre zli avec li l’´etiquette du nœud fils ;
• chaque arˆete parcourue du nœud fils vers le nœud parent est cod´ee par la lettre zl0i avec li l’´etiquette du nœud fils ;
Fig. 5.4 – Mot de Dyck associ´e `a un arbre planaire enracin´e et ´etiquet´e. L’ensemble des ´etiquettes est L = {l1, l2}. A noter que le mot de Dyck associ´e `a cette arbre est plus long que celui du cas non-´etiquet´e, cf figure 5.3. Ceci est dˆu `a l’ajout de deux lettres permettant de coder l’´etiquette de la racine et ainsi de conserver la bijectivit´e des repr´esentations.