Quicksort Algorithmus / Quick Sort Sortierverfahren mit Beispiel (deutsch)

preview_player
Показать описание

Quicksort: Wir beginnen dabei mit dem allgemeinen Prinzip. Danach erklären wir dir zwei unterschiedliche Beispiele, die einmal den Sortieralgorithmus sehr allgemein illustriert und einmal die Funktionsweise als tatsächliches in-Place-Verfahren darstellt. Im Anschluss schauen wir uns den Algorithmus mit einem Pseudocode und einem zugehörigen Struktogramm genauer an. Wie man eine Quicksort Java oder C++ Implementierung aufbauen kann, erfährst du mithilfe eines Beispielcodes.

So behandlen wir beispielsweise hier den Bubblesort und den Heapsort Algorithmus.

-----------------------------------------------------------------------------------------------------------
Über uns:

Wir sind eine junge, schnell wachsende E-Learning Plattform, die kostenlose Lernvideos für Dich als Student zur Verfügung stellt. Täglich kommt ein neues Video dazu. Von Wirtschaft über Technik bis zu allgemeinen Themen – alles ist dabei. Wir sind überzeugt, dass Lernen nicht langweilig oder gar teuer sein muss! Deshalb bieten wir hochwertige, animierte Lernvideos, mit denen Lernen Spaß macht – und das komplett kostenlos während deines ganzen Studiums!
Рекомендации по теме
Комментарии
Автор

Es wird gerne das mittlere Element verwendet, und optimal wäre der median, aber das mittlere Element ist in einer unsortierten Liste NICHT der Median. 9 ist hier das mittlere Element, aber nciht der Median wie das Video suggeriert. Der Median im Video wäre 5

martinrotzinger
Автор

Hier eine intuitive Erklärung:

Im Grunde haben wir eine Liste. Wir suchen uns irgendeine Zahl daraus aus. Jetzt schmeißen wir alles was kleiner ist nach links und alles was größer ist nach rechts.
Das ganze wiederholen wir in immer kleineren Listen, und irgendwann ist dann die Liste soriert ;)

myzel
Автор

thx nach Verwirrung nach 70m Info in der Schule hier in 3m direkt verstanden

lennard
Автор

Super Video, sehr gut erklärt, danke!

viktoriabell
Автор

That's very well explained. Thank you :)

whogotpwned
Автор

Hat jemand ein schreibtischtest von quicksort?? Würde mir helfen.

justinlingg-laham
Автор

wie funktionniert es wenn wir der letzte Element als Pivot Element gewählt wird

loicsabze
Автор

Wirklich nicht gut erklärt. In unseren Folien wurden die neuen Teilarrays untereinander geschrieben das hilft die Schritte nachzuvollziehen. Im Nächsten Schritt wurde dann auf in place eingegangen.

jannickbremm
Автор

Danke für die Erklärung! Ich hätte eine Frage. Wenn ein anderes Element den gleichen Wert wie der Pivot hat. Wo kommt er denn her, nach Link ode nach Rechts?

marrystone
Автор

ist die Stimme generiert oder was ist mit den Betonungen?

dasjucktmichnicht
Автор

wenn ich mir die Kommentar durchlesen bekomme ich das Gefühl hochintelligent zu sein. Ich finde Das Thema gut erklärt, danke!

alexanderschmidt
Автор

sher informatifes vidio danke für di Invormatdionen

nazimcolak
Автор

ist in-place und 'interne Sortierverfahren' das gleiche

captain_jac_k
Автор

Bei Quicksort wird nicht der Median als Pivot-Element genommen, sondern der rechte Index.

rcmochz
Автор

Hab das ganze mal, so wie ich es verstanden hab in Python umgesetzt. Ist mir jetzt zu kompliziert, das zu erklären, um sicherzugehen, dass ich den Algorithmus richtig verstanden habe, deswegen hier mal der Code:

L = [1, 3, 4, 2, 5] #break und return haben immer das gesamte unterprogramm beendet, daher verwende
tempL = [] #ich tempL als alternative damit das if beendet
links = []
rechts = []
workBool = True #die globale variable, mit der ich überprüfe, ob ich fertig bin

def Quicksort(L):
work = False #wenn dieser bool nicht verändert wird, weiß ich, dass ich fertig bin
median = int(round(len(L)/2)) #hier wird der Mittelwert bestimmt (Mitte der Liste)
for elem in range(median): #ich iteriere einmal durch die Liste links von der Mitte
if L[elem] > L[median]: #dabei tausche ich alle Elemente mit dem Median per
temp = L[elem] #Ringtausch, die größer sind als der Wert der Mitte
L[elem] = L[median]
L[median] = temp
if L[median] > L[elem]: #eigentlich unnötig ich weiß
tempL = []
links = L[0:median] #die linke sortierte Hälfte der Liste wird in links gespeichert

for i in range(median, len(L)): #das ganze Wiederholen wir jetzt
if L[median] > L[i]: #nochmal für die rechte Hälfte
temp = L[i]
L[i] = L[median]
L[median] = temp
if L[i] > L[median]: # auch unnötig ich weiß
tempL = []
rechts = L[median:len(L)] # rechte Hälfte wird in rechts gespeichert
L = links + rechts #die Liste wird aus den sortieren Hälften wieder zusammengesetzt
workBool = True
for k in range(len(L)-1): #ich schaue nun, ob jedes Element kleiner als sein
if L[k] <= L [k + 1]: #nachfolgendes ist
workBool = False # wenn ja wird der code weiter ausgeführt
else:
work = True #wenn nein, geben wir unsere Fertig sortierte Liste zurück

if work == False:
return L #falls die Liste noch nicht fertig sortiert war,
#starten wir mit der Teilsortierten Liste rekursiv
return Quicksort(L) #erneut den Sortieralgorithmus

print(Quicksort(L)) #ein einfaches print statement, dass unsere Funktion
#mit der gegebenen Liste aufruft und das Ergebnis ausgibt

divided_by_dia
Автор

Wahrscheinlich ist SQL eine Programmiersprache, oder?
Wahrscheinliche "iawa"

fanboybrother
Автор

Also 9 ist ehrlich gesagt nicht der Median.

StormFusionEUW
Автор

Warum enttäuscht euer kanal einem bei jeder Gelegenheit? Die Erklärung bringt ein
nicht weiter!!

anasarodake
Автор

Schon frech wie ihr euch jemanden gegenüber benehmt, der euch kostenlose Bildung zur Verfügung stellt. Wenn ihr es nicht versteht nehmt halt andere Ressourcen.

renereifen