Ich beschäftige mich praktisch bereits mein ganzes Leben lang mit Sortierverfahren und möchte im Zusammenhang mit Quicksort einmal auf etwas Grundsätzliches hinweisen: Bei vielen Stellen, wo die Funktionsweise von Quicksort erklärt wird, wird die Sache so dargestellt, dass man in einer Rekursion praktisch jedes Element als Pivotelement verwenden kann. Das ist aber falsch! Entsprechend der Grundidee von "Teile und Herrsche", muss man nämlich IMMER das mittlere Element als Pivotelement verwenden, weil es ansonsten zum Absturz von Quicksort kommen kann. Ursache: Die Anzahl der gleichzeitig aktiven Rekursionen, die natürlich begrenzt ist, kann ansonsten mit der Anzahl der zu sortierenden Elemente identisch sein. Beispiel: Es gibt 5001 zu sortierende Zahlen / Datensätze. Wenn der Best-Case (1,2,3,...) oder der Worst-Case (...,3,2,1) vorliegt, dann wird es in der Programmiersprache "Visual Basic" unweigerlich immer zum Absturz von Quicksort kommen, wenn man in beiden Fällen das erste oder letzte Element als Pivotelement verwendet. Die Anzahl der gleichzeitig aktiven Rekursionen, ist bei "Visual Basic" nämlich auf 5000 begrenzt. Lösung für das Problem: 1. Vertausche das mittlere Element mit dem letzten. 2. Mache das letzte Element zum Pivotelement. 3. Verschiebe alle kleineren Elemente zum Anfang der Rekursion. 4. Vertausche das Element rechts neben dem kleineren Bereich mit dem Pivotelement. 5. Hänge im rechten Bereich alle mit dem Pivotelement identisch großen Elemente, an das Pivotelement an. Mit freundlichen Grüßen: Martin Oppermann -- 20:49, 27. Jan. 2022 (CET)