QuickSort - Sortieralgorithmus
Вставка
- Опубліковано 24 жов 2016
- In diesem Video stellt euch Prof. Dr. Oliver Lazar das Sortierverfahren QuickSort vor. Der QuickSort ist ein rekursives Sortierverfahren, das lange Zeit als das schnellste Verfahren galt. Nach einer kurzen Einleitung mit allgemeinen Informationen zum QuickSort wird die Vorgehensweise exemplarisch Schritt für Schritt erklärt.
- Наука та технологія
Hab 5 verschiedene Videos über QickSort angeschaut und du hast das mit Abstand beste gemacht! Vielen Dank!
Wahnsinnig gut erklärt! Vielen Dank!
Danke für dein informatives Video :D Du hast mir sehr weitergeholfen und ich finde du hast es sehr gut und einfach erklärt :D Danke :3
sehr gut und verständlich erklärt, vielen dank!
Tolles Video. Sehr gut erklärt Es wäre interessant noch mehr darüber zu erfahren wann wo welcher Algorithmus anzuwenden ist.
Super erklärt!
Grüße,
Erstmal danke für die intressanten Videos :D
Auch dieses Video war sehr hilfreich und leicht verständlich.
Wenn ich wünsche für zukünftige Videos äußern darf, dann würde ich sie
bitten ein Video über das "Rucksack-Problem" zu machen und noch ein kleines Programmierbeispiel dazu
(z.b. Kapp-Optimierung für Holzstangen).
Ich steige teilweiße nicht ganz bei dem Thema durch :-/
Ein Träumchen, danke dir !
Schonmal danke für das super Video. ideallerweise wäre noch ein Beispiel zur Bestimmung des Pivot-Elements per Median und dessen sinnhaftigkeit gut gewesen, oder auch ein Beispiel wo die Aufzählung der Vergleiche dran kommen.
Den Median zu als Pivot zu verwenden wäre optimal, da man damit ein linearlogarithmisches Laufzeitverhalten erhält. Aber es hat sich in der Praxis nicht bewährt dies zu tun, da das bestimmen des Medians selbst natürlich auch Zeit kostet.
Was wäre wenn die erste Zahl 20 wäre, dann muss die nach hinten rotiert werden oder?
Danke!
Ich habe es mit deinem System ausprobiert und stoße bei einem Punkt immer auf Probleme. Bsp: mein Array sieht nun so aus: 6 4 3 5. Soweit ich es verstanden habe, müsste doch jetzt i und j auf der 5 treffen, und die 6 mit der 3 getauscht werden. 6 5 wäre dann die fixe, aber falsche Reihenfolge (weil die 5 ein einelementiges Array wäre) und mit 3 4 müsste man weiterrechnen. Was habe ich missverstanden?
i und j treffen sich zwar auf der 5, aber da du bis zum Ende keinen Wert gefunden hast, der größer als dein Pivot (6) ist, tauschst du das Pivot ans Ende (also 6 und 5).
Ich hätte da mal eine Frage: Du sagst bei 12:10: Ich suche nach einem Wert der größer GLEICH dem Pivot-Element ist, aber wenn das i bereits auf 9 steht (was zu dem Zeitpunkt ja das Pivotelement ist), wieso verschiebt man das dan trotzdem zur 11?
weil i von links nach rechts läuft
sooooo gut erklaert wow
Hallo danke für das gute Video. Würde es ein Unterschied bei der Ausführung geben, wenn ich das letzte Element als pivot wählen würde? Und könnte ich beispielsweise einmal das erste und das nächste Mal das letzte Element wählen?
Danke
Das Erste, das Letzte, den Median... das geht alles.
@@nerdwest2184 aber wenn man das letzte Pivot Element wählt, dann kann man nicht mehr (i-1) als Tauschposition nehmen, wenn i und j sich treffen. gerade probiert mit 19 als Pivoatelement. wenn i und j sich treffen, muss dann genau an der Stelle i getauscht werden.
@@mro1743 Der Algorithmus als solcher funktioniert ja mit jeder Variante, aber es ist doch klar, dass man die Einzelschritte im Detail anpassen muss, wenn man das Pivot ändert. Ich habe es für die Variante Pivot=erstes Element gezeigt.
Danke
6:00: man sucht mit i ein Element das größer oder GLEICH dem Pivot Element ist... 14 ist doch GLEICH dem Pivot Element warum darf man das jetzt ignorieren? Sollte es dann nicht heißen: man sucht ein Element das größer als das Pivot ist, denn dieses ignoriert man bis zum schluss... ???
Nein, die 14 an Indexposition 0 IST doch das Pivotelement. Es könnte aber sein, dass die 14 ein zweites Mal irgendwo im Array vorkäme (ist jetzt hier im Beispiel nicht so, aber es wäre in einem anderen Beispiel durchaus möglich).
Ok, das heißt dann trotzdem, dass man das Pivot ignoriert oder? Es könnte ja auch in der Mitte vorkommen und dann müsste ich es ja demnach überspringen. Das heißt der Algorithmus merkt sich die Stelle an dem das Pivot ist und umgeht diese beim Durchlauf? (Such man das Pivot z.B. random)
Genau, aber bei meiner vorgestellten Variante ist IMMER das erste Element automatisch das Pivot (ist so üblich).
Ah super, danke schön für die rasche Antwort :)
Danke für das Video. Möge Allah Sie rechtleiten.