Ist jemand mit Yijie Hans , linearem Raum und ganzzahligem Sortieralgorithmus vertraut ? Dieses Ergebnis erscheint in einem relativ kurzen Artikel ( Deterministische Sortierung in Zeit und linearem Raum . J. Alg. 50: 96–105, 2004), der im Grunde genommen viele frühere Ergebnisse mit geeigneten zusammenklebt Anpassungen. Mein Problem ist, dass es eher von Hand geschrieben ist, ohne auf Einzelheiten einzugehen. Es stützt sich stark auf frühere Veröffentlichungen, darunter eine weitere Veröffentlichung von Han ( Verbesserte schnelle Ganzzahlensortierung im linearen Raum). Information and Computation 170 (1): 81–94) im gleichen Stil geschrieben. Ich habe erhebliche Schwierigkeiten, diese beiden Papiere zu verstehen, insbesondere die Art und Weise, wie sie frühere Ergebnisse anpassen und verwenden. Ich würde mich über jede Hilfe freuen.
Dies ist natürlich zu weit gefasst und vage, um als richtige Frage angesehen zu werden, aber ich hoffe, eine Diskussion über mehrere gezielte, genau definierte Fragen und Antworten zu entwickeln.
Zum Auftakt hier meine erste konkrete Frage. In Lemma 2 der Info. Comp. Papier gibt es einen rekursiven -Zeitalgorithmus zum Finden der m-ten kleinsten Ganzzahl in einer Menge von kleinen Ganzzahlen, die jeweils in RAM-Wörter gepackt sind. In der Beschreibung des Algorithmus wird nicht erwähnt, wie der Basisfall behandelt wird. In diesem Fall muss die Auswahl in . Wie geht das?
Antworten:
Ich habe mich nur das Gleiche gefragt.
Glücklicherweise konnte ich einen im Jahr 2011 veröffentlichten Zeitschriftenartikel finden, der genau dies erklärt. Darüber hinaus benötigen Sie kein Abonnement, um es anzuzeigen: Implementierung und Leistungsanalyse der exponentiellen Baumsortierung
Ich empfehle, den gesamten Artikel zu lesen, um zu lernen, wie er implementiert werden kann und um die zugrunde liegende Theorie besser zu verstehen. Es wird auch gezeigt, wie Exponentialbäume im Vergleich zu Quick-Sort- und Binärbäumen gestapelt werden. Hier ist der relevante Auszug zu Hans Zeit, linearem Raum und ganzzahligem SortieralgorithmusO(nloglogn) :
[6] Y. Han, Deterministische Sortierung in O (n log log n) Zeit und linearem Raum, 34. STOC, 2002.
[8] A. Andersson, Schnelles deterministisches Sortieren und Suchen im linearen Raum, IEEE-Symposium über Grundlagen der Informatik, 1996.
quelle
Ich bin mir bei der Antwort nicht sicher (habe noch kein Papier durchgesehen), aber ich denke, das sollte helfen. Die Zahlen werden in ein einzelnes Wort gepackt, sodass Operationen an einem einzelnen Wort 0 (1) Zeit benötigen. Wenn es zum Beispiel k Zahlen von jeweils h Bits gibt, hängt die Wortgröße von k ab, wobei h wiederum auch vom Bereich der Zahlen abhängt. Daher verwenden wir Techniken zur Bereichsreduzierung, mit denen der Bereich der Zahlen reduziert werden kann, sodass viele Zahlen in ein einzelnes Wort passen. Wenn wir dann die richtigen Bitmasken erstellen, können wir größere Ganzzahlen von den kürzeren unterscheiden, wobei wir jeweils zwei Wörter berücksichtigen. Dies kann in O (1) Zeit erfolgen. (Voraussetzung: Jede in einem Wort gespeicherte Zahl ist mit einem Flag-Bit verknüpft. Dann subtrahieren wir zwei Wörter. Wenn das Flag-Bit leer ist, ist es eine kleinere Zahl.)
Ähnlich wie oben können wir auch jedes Wort sortieren, das k Zahlen in O (log k) Zeit enthält (bitonische Sortierung).
Edit: Algorithmus zum Sortieren von 2k Zahlen im Bereich von 0 bis m-1, gepackt in ein Wort, wobei jede Zahl die Größe L von = log (m + k) +2 annimmt.
Wiederholen Sie dies für t = log k bis 0.
Teil 1 - Trenne das ursprüngliche Wort Z in zwei Wörter A und B.
Lassen Sie T erhalten, indem Sie , (L-1-t Positionen) nach links verschieben und das Ergebnis mit UND-verknüpfen . Sei M = T- (T hat L-1 Stellen verschoben).K2 K1
Und Z mit M und verschiebe das Ergebnis ( ) nach rechts. Dies gibt A.2tL
B = Z- (Z & amp; M).
Teil 2
M = ((A ODER ) -B) &K1 K1
M = M- (M um L-1 Stellen nach links verschoben).
MIN = (B & M) ODER (A- (A & M))
MAX = (A & M) ODER (B- (B & M))
MAX wird um Stellen verschoben .2tL
Endlich ORING MAX und MIN bekommen wir Z zurück.
Ich habe die Skizze gegeben, hoffe, Sie können die erforderlichen Angaben ergänzen.
quelle