2
Le but de cet exercice est de trouver la complexité moyenne de l’algorithme de Tri-rapide en
terme de comparaisons. Toutes les étapes de calcul sont décrites et les résultats donnés à chaque
étape afin qu’indépendamment du temps consacré en TD, vous puissiez reprendre et comprendre
la démarche.
I Analyse de Placer en nombre de comparaisons
1.1 Faire dérouler l’algorithme Placer sur l’exemple [101, 213, 20, 123, 47, 79, 195].
1.2 Analyser l’algorithme selon que le pivot q est un minimum du tableau, un maximum ou une
valeur intermédiaire.
1.3 Montrer que le nombre de comparaisons pour un tableau de longueur n est égal à n-1 ou n+1.
II Analyse de Tri-rapide en nombre de comparaisons
On suppose que les valeurs de A sont toutes distinctes.
2.1 Complexité au pire : Le pire de cas correspond à un tableau de valeurs strictement
croissantes. Calculer le nombre de comparaisons effectuées dans ce cas pour un tableau de taille
n. En déduire que la complexité au pire Max(n) vérifie :
)()(
2
nnMax
θ
=
2.2 On suppose que le pivot q peut se placer de manière équiprobable sur n’importe quelle place k
du tableau de taille n. On a donc une probabilité 1/n d’avoir le pivot à la kième place, et donc
d’avoir deux sous tableaux de taille respective k-1 et n-k.
Si on note Moy(n) la complexité en moyenne de l’algorithme du tri rapide, en utilisant 1.3,
comprendre que l’encadrement de Moy(n) par récurrence :
0)1()0(
2,))()1((
1
1)())()1((
1
1
11
==
≥−+−++≤≤−+−+−
∑∑
==
MoyMoy
nknMoykMoy
n
nnMoyknMoykMoy
n
n
n
k
n
k
Suit la démonstration pour calculer cette Moyenne donnée par récurrence.
2.3 On pose :
0;0
2,)(
1
1
)(
1
1
1010
11
11
====
≥+++=
++−=
∑
∑
=
−−
=
−−
BBAA
nBB
n
nB
AA
n
nA
n
kknkn
n
kknkn
, alors
nn
BnMoyA
)(
Montrer que
2,
2
1
2
1
1
1
1
1
≥++=
+−=
∑
∑
−
=
−
=
nB
n
nB
A
n
nA
n
kkn
n
kkn