Zum Inhalt springen

Quicksort


Amtrak2004

Empfohlene Beiträge

Ich meine, was genau an der Erklärung im Wikipedia-Artikel verstehst du nicht?

Ich kann das hier natürlich auch nochmal erklären, aber wenn du den Wikipedia-Artikel nicht verstehst, verstehst du vermutlich meine Erklärung auch nicht.

Also beschreib bitte etwas genauer, wo die Verständnisprobleme liegen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ne Bessere Erklärung als im Wiki wirst Du fürchte ich auch hier nicht bekommen, ich versuchs mal ganz grob in eigenen Woerten zusammenzufassen:

Methodenaufruf Sortiere(array, linkerIndex, rechterIndex)

-> Such dir einen Index aus der Mitte zwischen linkem und rechtem Index (Pivotelement)

-> Laufe in einer Schleife von rechts in Richtung Pivotelement und von links in Richtung Pivotelement tausche wenn rechts kleiner als Pivotelement und Links größer als Pivotelement ist die Inhalte

-> Rufe Sortiere rekursiv auf, einmal für alles links des Pivotelements und einmal für alles rechts des Pivotelements.

evtl.helfen Dir auch die Links vom Wikipedia weiter.

Gruß

Markus

Link zu diesem Kommentar
Auf anderen Seiten teilen

quicksort is ganz easy:

du addierst die erste und die letzte zahl und teilst das durch 2.

das ist deine "magische grenze"

nun läufst du alle zahlen durch

wir nehmen folgende zahlenreihe:

1   5   6   2   3   7   4
erstes und letztes element ergibt 5 geteilt durch 2 sind 2,5 nun ergeben sich 2 teillisten: (erklärung: der quicksort arbeitet so, dass er immer wieder die vorhandene liste in 2 teillisten teilt) a) alles was kleiner als 2,5 ist und B) alles was größer is erste teilliste wäre dann:
1   2
zum verständnis: wir laufen durch die liste 1, passt 5, passt nicht -> suche nach einem tauschkandidaten: 2 5 und 2 werden getauscht. 6, passt nicht -> suche tauschkandidat -> keiner gefunden. beendet alles andere ist nun in der zweiten liste:
6   5   3   7   4

genau das ist der quicksort.

wenn du jetzt schaust, hast du jetzt, exakt die gleiche lage wie am anfang meines posts -> eine liste. ok, jetzt hast du 2 einzelne, aber die kannst du genau gleich behandeln.

bei der ersten liste würde jetzt

1 und 2 ergibt 3 durch 2 sind 1,5.

die 1 bleibt so stehen und die 2 auch. d.h. die ersten beiden felder sind fertig sortiert, da du einzelne listenfelder nicht mehr aufteilen kannst.

der quicksort macht solange teillisten bis es nichtmehr weiter geht. denn dann hat er seine aufgabe erfüllt: die liste ist in der aufsteigenden reihenfolge sortiert.

hoffe, geholfen zu haben.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...