Untere Schranke für heapsort?

Es ist bekannt, dass die worst-case Laufzeit für heapsort ist Ω(n lg n), aber ich habe Schwierigkeiten zu sehen, warum das so ist. Insbesondere der erste Schritt von heapsort (max-heap) kostet Zeit Θ(n). Dies ist dann gefolgt von n-heap-Löschungen. Ich verstehe, warum jeder heap löschen kostet Zeit O(lg n); Neuausrichtung der Haufen beinhaltet eine bubble-down-Vorgang, der Zeit braucht O(h) in der Höhe des Heaps, und h = O(lg n). Was ich jedoch nicht sehe ist, warum dieser zweite Schritt nehmen sollten, Ω(n lg n). Es scheint, wie jedes einzelne heap dequeue würde nicht unbedingt Ursache der Knoten bewegt, um die Oberseite zu blubbern den ganzen Weg nach unten den Baum.

Meine Frage ist - kennt jemand eine gute untere Schranke Beweis für das best-case-Verhalten von heapsort?

InformationsquelleAutor der Frage templatetypedef | 2011-01-04

Schreibe einen Kommentar