Quick-Sort < Algorithmen < Schule < Informatik < Vorhilfe
|
Hallo,
also ich verstehe irgendwie diesen Quick-Sort Algorithmus nicht.
Wenn ich zum Beispiel sowas hier habe :
5 | 2 | 4 | 3 | 1
Dann nehme ich die 4 als Pivot-Element , also die Mitte.
Muss ich jetzt eigentlich die Mitte DER POSITIONEN nehmen , oder die EIGENTLICHE MITTE DER ZAHLEN ( also von 1 2 3 4 5 , denn in diesem Fall wäre es ja die 3 )
Wie macht man das hier am besten ?
|
|
|
|
Hallo pc_doctor,
> also ich verstehe irgendwie diesen Quick-Sort Algorithmus
> nicht.
Verstehst Du den Algorithmus generell nicht, oder geht es Dir konkret "nur" um die Wahl des Pivotelement?
> Wenn ich zum Beispiel sowas hier habe :
>
> 5 | 2 | 4 | 3 | 1
>
> Dann nehme ich die 4 als Pivot-Element , also die Mitte.
>
> Muss ich jetzt eigentlich die Mitte DER POSITIONEN nehmen ,
> oder die EIGENTLICHE MITTE DER ZAHLEN ( also von 1 2 3 4 5
> , denn in diesem Fall wäre es ja die 3 )
>
> Wie macht man das hier am besten ?
Realisieren kann man die Wahl des Pivotelement auf verschiedene Art (Du kannst prinzipiell jedes Deiner Elemente 1-2-3-4-5 als Pivotelement nehmen) - aber Du fragst ja nach der "BESTEN" Art. Das Pivotelement ist wichtig für die Laufzeit des Algorithmus. Optimal ist diese, wenn ein Teilfeld in zwei etwa gleichgroße Teilfelder zerlegt wird. In Deinem Beispiel wäre es also die 3. Eine gute Variante für die optimale Wahl nennt sich Clever Quicksort, da werden drei zufällig verschiedene Elemente der Folge ausgewählt und das Element mit dem mittleren Wert als Pivotelement benutzt. Auf diese Weise hat man eine gute Basis, dass der Wert des Pivotelement eher in der Mitte liegt.
Gruß
Anna
|
|
|
|
|
Hab mir jetzt paar Beispiele angeguckt , und ganz ehrlich , das hat mich noch mehr verwirrt.
Wenn ich zum Beispiel
5 | 2 | 4 | 3 | 1 habe , welche Zahl wär jetzt die Beste , damit ich ein gutes Pivot-Element habe ?
Was muss ich danach machen ?
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 19:55 Fr 26.10.2012 | Autor: | leduart |
Hallo
das hat Anna doch gesagt, und bei so wenigen Elementen kann man nicht über die clever Methode reden.
sortier doch deine elemente mal "zu Fuß" mit quicksort, nimm einmal die 4 als PE einmal die 5
sortieren kannst du auf jeden Fall,
man muss auch mal rumexperimentieren!!
Gruss leduart
|
|
|
|
|
Hallo nochmal,
ja , sortieren kann ich zwar , aber ich möchte ja nach dem Prinzip sortieren :
5 | 2 | 4 | 3 | 1 mein PE ist 4 , jetzt gucke ich , welche Zahlen größer 4 sind , die kommen dann nach rechts
1 | 3 | 2 | 4 | 5
Jetzt gucke ich mir 1 3 2 an und nehme als "Mitte" die 3 und die Zahlen , die kleine als 3 sind , kommen nach links.
1 | 2 | 3 | 4 | 5
Ist dieses Prinzip so richtig ? Also meine Vorgehensweise ?
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 16:28 So 28.10.2012 | Autor: | leduart |
Hallo
du solltest nicht einfach sortieren, sondern alle nötigen Schritte (Vergleiche, umspeichern) zählen wenn du mit verschiedenen PE anfängst. Also "spiel" du seist der computer!
Gruss leduart
|
|
|
|
|
Tut mir Leid , aber das verstehe ich irgendwie nicht :(
Ich meine wenn ich 5 | 2 | 4 | 3 | 1 habe und 4 mein PE ist , dann muss ich doch zuerst vergleichen , was größer bzw.kleiner ist , die größeren Zahlen kommen nach rechts.
Ich gucke mir jetzt die 5 und die 1 an , ganz rechts , die vertausche ich :
1 | 2 | 4 | 3 | 5
So wie geht es jetzt weiter ?
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 18:22 So 28.10.2012 | Autor: | leduart |
Hallo
was sagt denn quicksort?
hast du ein Programm? geh ihm Punkt für Punkt nach!
Gruss leduart
|
|
|
|