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(nln⁡n)O(n)Ω(nln⁡n)


Tout algorithme de tri basé sur la comparaison devra effectuer des comparaisons et des échanges Ω ( n ) dans le pire des cas (cf. CLRS). Ω(nlog⁡n)Ω(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(nlog⁡n)O(n)

O(nlog⁡n)O(n)

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.