Als «quicksort» getaggte Fragen



4
Warum verwenden wir die schnelle Sortierung nicht für eine verknüpfte Liste?
Der schnelle Sortieralgorithmus kann in die folgenden Schritte unterteilt werden Pivot identifizieren. Partitionieren Sie die verknüpfte Liste basierend auf Pivot. Teilen Sie die verknüpfte Liste rekursiv in zwei Teile. Wenn ich immer das letzte Element als Pivot wähle, dauert die Identifizierung des Pivot-Elements (1. Schritt) Mal.O ( n )O(n)\mathcal O(n) …

4
Ist für einen Sortieralgorithmus eine Transitivität erforderlich?
Ist es möglich, einen Sortieralgorithmus mit einem nicht-transitiven Vergleich zu verwenden, und wenn ja, warum wird die Transitivität als Voraussetzung für das Sortieren von Komparatoren aufgeführt? Hintergrund: Ein Sortieralgorithmus sortiert im Allgemeinen die Elemente einer Liste nach einer Komparatorfunktion C (x, y) mit C(x,y)=⎧⎩⎨−10+1if x≺yif x∼yif x≻yC(x,y)={−1if x≺y0if x∼y+1if x≻y\begin{array}{ll} …



1
Würde die Verwendung des Mittelwerts als Drehpunkt die Quicksortierung beschleunigen?
Irgendwie habe ich letzte Nacht über Quicksort nachgedacht und auf Wikipedia darüber gelesen. Das Interessante für mich war: „Wenn wir konsequent einen Pivot aus den mittleren 50 Prozent wählen könnten, müssten wir die Liste höchstens aufteilenlog4/3nlog4/3⁡n\log_{4/3} n. Die Wahl des Drehpunkts scheint ein mögliches Problem der Quicksortierung zu sein, das …

2
Warum wird Quicksort als "an Ort und Stelle" beschrieben, wenn die Unterlisten viel Speicherplatz beanspruchen? Sicherlich ist nur so etwas wie eine Blasensorte vorhanden?
Quicksort wird als "an Ort und Stelle" beschrieben, verwendet jedoch eine Implementierung wie: def sort(array): less = [] equal = [] greater = [] if len(array) > 1: pivot = array[0] for x in array: if x < pivot: less.append(x) if x == pivot: equal.append(x) if x > pivot: greater.append(x) …
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.