Algorithme de tri optimal en nombre de swaps

12

Étant donné une séquence de nombres, peut-elle être triée avec des comparaisons O ( n ln n ) et O ( n ) swaps / mouvements? Tout pointeur vers des publications à ce sujet ou contre-arguments montrant une borne inférieure Ω ( n ln n ) serait utile.nO(nlnn)O(n)Ω(nlnn)

Jesse Zixi Zhang
la source
Tout algorithme de tri basé sur la comparaison devra effectuer des comparaisons et des échanges Ω ( n ) dans le pire des cas (cf. CLRS). Ω(nlogn)Ω(n)
Kaveh
4
Trivialement, vous pouvez réaliser des mouvements si vous triez d'abord une table qui contient les index des éléments, et seulement après ce tri la table qui contient les éléments. O(n)
Jukka Suomela
@jukka bien c'est tricher car vous avez déplacé des éléments lorsque vous avez trié la table ...
Jesse Zixi Zhang

Réponses:

15

Il existe un algorithme de tri sur place stable avec des comparaisons et des mouvements O ( n ) .O(nlogn)O(n)

O(nlogn)O(n)

Snowie
la source