Asymptotische Komplexität der Sortierung mit k-Vergleichen


8

Das Sortieren unter Verwendung von 2-Element-Vergleichen hat eine asymptotische Worst-Case-Komplexität von (erreicht durch Mergesort, Heapsort, binäre Einfügung, mindestens Ford-Johnson), was optimal ist.nlog2⁡(n)

Wenn wir mit Vergleichen sortieren, die k Elemente als Bausteine ​​sortieren, ist die informationstheoretische Untergrenze . Wir können leicht n log k ( n ) mit k-ary Insertion erreichen.nlogk!⁡(n)nlogk⁡(n)

Frage: Wo ist die optimale Komplexität zwischen und n log k ! ( n ) ?nlogk⁡(n)nlogk!⁡(n)

Geeignete Refs wären ebenfalls willkommen.

Edit: weil es nicht klar war:

Ich interessiere mich für die Komplexität in mit k = O ( 1 ) . Es hat das asymptotische Verhalten von α n log 2 ( n ) mit α ∈ [ 1nk=O(1)αnlog2⁡(n), und ich möchte mehr Genauigkeit überα.α∈[1log2⁡(k),1log2⁡(k!)]α

Antworten:



2

Lassen Sie uns diese zunächst in die meiner Meinung nach richtige Form bringen.


Θ(n⋅logk⁡(n))=Θ(n⋅log2⁡(n)log2⁡(k))=Θ(n⋅log2⁡(n)log2⁡(k))

und

Θ(n⋅logk!⁡(n))=Θ(n⋅log2⁡(n)log2⁡(k!))=Θ(n⋅log2⁡(n)k⋅log2⁡(k))



Beachten Sie, dass ein -ary-Vergleich für ausreichtk⌊k2⌋ gleichzeitige (binäre) Vergleiche.

Zum 2≤k, ⌊k2⌋∈Θ(k).

Durch das AKS-Netzwerk , z2≤k≤O(n), O(n⋅log2⁡(n)k) k

Wann n≤k, 1k 1∈O(n⋅log2⁡(n)k)

Daher für 2≤k, O(n⋅log2⁡(n)k) k


5 k(4⋅⌊k2⌋) Vergleich.

Zum 4≤k, 5k(32⋅k) Vergleich.

Zum 2≤k≤n, log32⁡(nk)=log2⁡(nk)log2⁡(32).

Zum 2≤k≤n, 5⌈log2⁡(nk)log2⁡(32)⌉ k

Zum 2≤n, k

Daher für 2≤k≤n und nk∈O(1), Θ(1) k


Ich vermute, man könnte die zweite meiner beiden
Schlussfolgerungen verfeinern , um zu zeigen, dass Ihre Untergrenze erreicht ist.


nk=O(1)αnlog2(n)α∈[1log2(k),1log2(k!)]α5log2⁡(nk)log2⁡(32)=O((nk)log2(5)log2(32))

Ich wollte es so interpretieren, bevor mir klar wurde, dass, soweit ich finden kann, Die optimale Konstante ist selbst für nicht bekannt k=2.

2 Ist die optimale Anzahl von binären Vergleichen geteilt durch n⋅log2⁡(n)1

k=2nlog2⁡(n)∑i=2n⌈log2⁡(i)⌉∼nlog2⁡(n)
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.