Gibts tatsächlich keine Shellsort-Anhänger hier?
Gibts tatsächlich keine Shellsort-Anhänger hier?
Von Messungen zu Messungen wurde der Anteil der unsortierten Werte also prozentual immer kleiner. Da war mein angepasster Bubblesort die "beste" Lösung (von denen, die ich getestet habe). Am Anfang wäre der Quicksort vielleicht noch schneller gewesen aber was spart man bei der Sortierung von 10 Werten. Bei 500 oder 1000 oder noch mehr wird es in Basic schon interessanter und da war der Quicksort halt unterlegen (und der normale Bubblesort auch).
Möglicherweise hättest du einfach nur eine bessere Wahl des Pivot-Elements in deinen Quicksort einbauen müssen, um dessen Worst-Case-Verhalten aus dem Weg zu gehen? Alternativ könnte man sich auch an den Implementierungen von Sortieralgorithmen in modernen Libraries und Programmiersprachen orientieren, da findet man gerne mal eine Mischung aus Quicksort und einem anderen Algorithmus (oft Heapsort): Zunächst wird die übliche Quicksort-Rekursion angewendet, aber wenn die Grösse der aktuellen Partition ein bestimmtes Limit unterschreitet wird diese mit dem zweiten Algorithmus sortiert.