Wikipedia gibt an, dass die Vorteile von Smoothsort gegenüber Heapsort darin bestehen, dass es manchmal näher an der O (n) -Zeit liegt .
Jetzt habe ich mich gefragt, welchen Vorteil Heapsort gegenüber Smoothsort hat.
Oder um diese Frage neu zu formulieren: Ist Smoothsort immer eine bessere Wahl als Heapsort (auch wenn die Eingabe noch nicht zu einem gewissen Grad sortiert ist)?
ds.algorithms
sorting
Pacerier
quelle
quelle
Antworten:
Nach einigem Nachlesen der beiden Algorithmen scheint Heapsort keinen impliziten O- Vorteil gegenüber Smoothsort zu haben. Diese Art von macht Sinn, wenn Sie denken, dass Smoothsort nur eine spezielle Art von Heapsort ist, wobei eine spezielle Art von Heap verwendet wird.
Heapsort hat den Vorteil, dass es leichter zu verstehen und viel besser dokumentiert ist. Es gibt nur sehr wenige öffentlich verfügbare Implementierungen von Smoothsort und nur sehr wenig Literatur dazu, es gibt jedoch viel Literatur zu Heapsort.
In der Tat ist die einzige wirklich zugängliche Literatur dieser Artikel von Keith Schwarz. Es ist auch die Grundlage des Wikipedia-Artikels .
quelle