Insertion Sort mit binärer Suche

Bei der Implementierung von Insertion Sort mit binärer Suche verwendet werden könnte, um suchen Sie die position innerhalb der ersten i - 1 Elemente in das array, in das element eingefügt werden soll.

Wie würde sich das auf die Anzahl der Vergleiche erforderlich? Wie würde solch eine binäre Suche beeinflussen die asymptotische Laufzeit Insertion Sort?

Ich bin mir ziemlich sicher, dies würde eine Verringerung der Anzahl der Vergleiche, aber ich bin mir nicht ganz sicher, warum.

Binäre Suche die position O(log N) vergleicht. Das macht O(N. log(N)) Vergleiche für das Loch Sortieren. [Wir können vernachlässigen, dass N wächst von 1 bis zu der letzten N während wir einfügen]
Der Algorithmus ist immer noch O(n^2), weil der Insertionen. So, binäre suchen kann, reduzieren Sie die Zeit (weil es weniger Vergleiche), es verringert nicht die asymptotische Laufzeit.
Whistle : Antwort aktualisiert
Wieder geöffnet, da die "doppelte" scheint nicht zu schweigen von der Anzahl der Vergleiche oder laufen.

InformationsquelleAutor Derrek Whistle | 2013-08-02

Schreibe einen Kommentar