On démontre qu'aucun tri fondé sur des comparaisons ne peut faire…
Exercice supplémentaire · niveau 3 (difficile) · NSI (première), chapitre 7 — Parcourir, trier, prouver · Ce que coûte un tri : bornes et mesures
Énoncé
On démontre qu'aucun tri fondé sur des comparaisons ne peut faire moins de comparaisons dans le pire cas. Comparer cette borne à et au coût du tri par sélection.
Corrigé
L'idée de la borne. Un tri par comparaisons doit pouvoir distinguer les ordres possibles du tableau. Chaque comparaison rend un bit d'information — vrai ou faux. Avec comparaisons on distingue au plus cas ; il faut donc , c'est-à-dire . C'est exactement le raisonnement « combien de bits faut-il ? » du chapitre 1, appliqué non à un entier mais à un nombre de possibilités.
Trois enseignements.
- La borne et sont du même ordre : leur rapport vaut pour , pour , pour , pour — il monte lentement vers . Un tri en est donc optimal à un facteur constant près : on ne fera jamais fondamentalement mieux.
- Le tri par sélection en est très loin : comparaisons pour , contre une borne de . Il fait presque dix fois le minimum, et l'écart croît avec .
- Le tri par comptage de l'exercice précédent fait , donc bien moins que — sans contredire le théorème, puisqu'il ne compare rien. La borne ne s'applique qu'aux tris par comparaison, et c'est la seule échappatoire.
Ce que cet exercice a d'inhabituel. On y démontre qu'un problème a un coût minimal, quel que soit l'algorithme — y compris ceux que personne n'a encore inventés. C'est un résultat sur le problème, non sur une solution, et c'est un genre de raisonnement qu'on ne rencontre plus avant les études supérieures.
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.