Wir alle wissen, dass die minimale Komplexität eines vergleichsbasierten Sortieralgorithmus Vergleiche sind. Ich versuche eine blinde Sortierung durchzuführen, dh wenn eine Zahl einen Schaltkreis (mit booleschen, arithmetischen und "Vergleichs" -Gattern) ausgibt, der eine Liste von Elementen sortiert .
Wenn ich alle -Vergleiche vorberechnete und dann die resultierenden Bits rechne, erhalte ich einen \ Theta (n ^ 3) -Algorithmus. Durch eine verrückte "Zeigerarithmetik" denke ich jedoch, dass ich ein \ Theta (n ^ 2) erhalten kann. Ausführung.
Gibt es eine bekannte Untergrenze für vergleichsbasierte Sortierschaltungen in ähnlicher Weise wie die n \ log n- Grenze für vergleichsbasierte Sortieralgorithmen? Könnte es überhaupt möglich sein, in Zeit blind zu sortieren ?
quelle
n^2
es sich um eine Untergrenze handelt, oder ob er doch nicht auf das Übliche reduziert werden kann. Ichn log n
überprüfe nur, ob es Situationen gibt, in denen eine Obergrenze wien^2
bereits bekannt ist.Antworten:
In Goodrichs "Randomized Shellsort: A Simple Oblivious Sorting Algorithm" wird die datenlose Sortierung diskutiert. Sortiernetzwerke sind datenlos, aber im Allgemeinen unpraktisch, wie ich es verstehe.
quelle