Exercice corrig´e
Arbre de d´ecision
Le tri d’un ensemble d’´el´ements (par exemple des entiers) peut ˆetre vu de mani`ere abstraite `a l’aide d’un
arbre de d´ecision. Un arbre de d´ecision est un arbre binaire repr´esentant les comparaisons entre ´el´ements lors
du tri. Chaque nœud interne de l’arbre correspond `a la comparaison de deux ´el´ements aet b, et on note ce
nœud a?b. Chaque feuille correspond `a un ordre, i.e. une permutation, sur les ´el´ements de l’ensemble, qu’on
note ha1, a2, . . . , anipour signifier a1< a2, etc. L’ex´ecution de l’algorithme de tri correspond `a un chemin
entre la racine et une feuille dans l’arbre de d´ecision. La figure 1 illustre par exemple le d´eroulement de
l’algorithme de tri par insertion sur un ensemble de trois ´el´ements {a, b, c}. Si on prend par exemple a= 27,
b= 42 et c= 5, l’algorithme va suivre le chemin surlign´e en rouge.
Fig. 1 – Arbre de d´ecision pour l’algorithme de tri par insertion sur trois ´el´ements a,bet c.
Exercice 1. Montrer qu’un arbre de d´ecision est forc´ement localement complet. En d´eduire que tout algo-
rithme de tri d’un ensemble de n´el´ements n´ecessite Ω(nlog n)comparaisons dans le cas le pire.
D´emonstration. Soit Aun arbre de d´ecision. Un nœud interne de Acorrespond `a la comparaison de deux
´el´ements aet b, et poss`ede donc forc´ement deux fils : soit a<b, soit a≥b.Aest donc bien localement
complet.
Soit Nle nombre total de nœuds de A:N=ni+f, avec ni et frespectivement le nombre de nœuds internes
et le nombre de feuilles de A. Comme Aest localement complet, on sait que f=ni + 1 (cette propri´et´e se
d´emontre par r´ecurrence sur ni). On a donc N= 2f−1.
Si Aest l’arbre de d´ecision d’un algorithme de tri d’un ensemble de n´el´ements, en supposant que cet
algorithme est correct, chaque feuille doit correspondre `a une permutation diff´erente de ces ´el´ements, et
toutes les permutations doivent ˆetre repr´esent´ees dans A. Comme il y a n! permutations possibles, on a
f=n!, et donc
N= 2n!−1.(1)
Remarquons `a pr´esent que le nombre de comparaisons dans le cas le pire correspond au nombre de nœuds
internes travers´es par le chemin le plus long allant de la racine `a une feuille de l’arbre de d´ecision. Autrement
dit, c’est exactement la hauteur hde l’arbre. Que vaut cette hauteur ? Par d´efinition d’un arbre binaire, on
a
N≤2h+1 −1 (2)
Grenoble-INP Ensimag, 1`ere ann´ee, 2010-2011 Algo 2 — Exercice corrig´e