Quicksort 1
Quicksort
Präsentation der Arbeitsweisedes Sortieralgorithmus
Quicksort
Quicksort 2
01 2 3 45 710 11 9 6 8
wert=0i=0 j=11
Der grüne Zeiger wandert von links nach rechts. Er bleibt stehen,sobald er eine Zahl gefunden hat, die größer als wert ist.Der rote Zeiger wandert von rechts nach links. Er bleibt stehen,sobald er eine Zahl gefunden hat, die kleiner oder gleich wert ist.Dann werden die Zahlen an den Positionen des grünen und rotenZeigers miteinander vertauscht – größere Zahlen als wert wanderndamit von links nach rechts, kleinere Zahlen als wert wandern damitvon rechts nach links.
wert ist das partitionierende Element.
Quicksort 3
01 2 3 45 710 11 9 6 8
wert=0i=0 j=10
Quicksort 4
01 2 3 45 710 11 9 6 8
wert=0i=0 j=9
Quicksort 5
01 2 3 45 710 11 9 6 8
wert=0i=0 j=8
Quicksort 6
01 2 3 45 710 11 9 6 8
wert=0i=0 j=7
Quicksort 7
01 2 3 45 710 11 9 6 8
wert=0i=0 j=6
Quicksort 8
01 2 3 45 710 11 9 6 8
wert=0i=0 j=5
0 und 10 tauschen nun die Plätze – große Zahlen nach rechts,kleine Zahlen nach links.
Quicksort 9
101 2 3 45 70 11 9 6 8
wert=0i=1 j=4
Quicksort 10
101 2 3 45 70 11 9 6 8
wert=0i=1 j=3
Quicksort 11
101 2 3 45 70 11 9 6 8
wert=0i=1 j=2
Quicksort 12
101 2 3 45 70 11 9 6 8
wert=0i=1 j=1
Quicksort 13
101 2 3 45 70 11 9 6 8
wert=0i=1j=0
Sobald die Zeiger sich überlaufen, ist ein Durchlauf fertig.Neu partitionieren, wobei es nur einen rechten Teil gibt.
Quicksort 14
101 2 3 45 70 11 9 6 8
wert=2i=1 j=11
Der grüne Zeiger wandert von links nach rechts. Er bleibt stehen,sobald er eine Zahl gefunden hat, die größer als wert ist.Der rote Zeiger wandert von rechts nach links. Er bleibt stehen,sobald er eine Zahl gefunden hat, die kleiner oder gleich wert ist.Dann werden die Zahlen an den Positionen des grünen und rotenZeigers miteinander vertauscht – größere Zahlen als wert wanderndamit von links nach rechts, kleinere Zahlen als wert wandern damitvon rechts nach links.
Quicksort 15
101 2 3 45 70 11 9 6 8
wert=2i=1 j=10
Quicksort 16
101 2 3 45 70 11 9 6 8
wert=2i=1 j=9
Quicksort 17
101 2 3 45 70 11 9 6 8
wert=2i=1 j=8
Quicksort 18
101 2 3 45 70 11 9 6 8
wert=2i=1 j=7
Quicksort 19
101 2 3 45 70 11 9 6 8
wert=2i=1 j=6
2 und 11 tauschen nun die Plätze – große Zahlen nach rechts,kleine Zahlen nach links.
Quicksort 20
101 11 3 45 70 2 9 6 8
wert=2i=2 j=5
Quicksort 21
101 3 45 70 2 9 6 8
wert=2i=2 j=4
11
Quicksort 22
101 3 45 70 2 9 6 8
wert=2i=2 j=3
11
Quicksort 23
109 3 45 70 2 1 6 8
wert=2j=2 i=3
Neu partitionieren: linker Teil von 1 bis 2 mit wert=2,rechter Teil von 3 bis 11 mit wert=5.
11
Quicksort 24
109 3 45 70 2 1 6 8
wert=2j=2 i=3i=1 j=11
wert=5
11
Quicksort 25
104 3 95 70 1 2 6 8
wert=2i=2 i=4j=1 j=10
wert=5
11
Neu partitionieren ist links nicht mehr möglich.
Quicksort 26
104 3 95 70 1 2 6 8
i=4 j=9
wert=5
11
Quicksort 27
104 3 95 70 1 2 6 8
i=4 j=8
wert=5
11
Quicksort 28
104 6 95 70 1 2 3 8
i=5 j=7
wert=5
11
Quicksort 29
54 6 910 70 1 2 3 8
j=6
wert=5
11
i=6
Quicksort 30
54 6 910 70 1 2 3 8
i=6j=5
wert=5
11
Neu partitionieren: linker Teil von 3 bis 5 mit wert=3,rechter Teil von 6 bis 11 mit wert=6.
Quicksort 31
54 6 910 70 1 2 3 8
i=3 j=5
wert=6
11
wert=3j=11i=6
Quicksort 32
54 6 910 70 1 2 3 8
i=3 j=4
wert=6
11
wert=3j=10i=6
Quicksort 33
53 6 910 70 1 2 4 8
j=3 i=4
wert=6
11
wert=3j=9i=6
Neu partitionieren: Linke Seite: linker Teil nicht möglich,rechter Teil von 4 bis 5 mit wert=4.Rechte Seite läuft noch weiter.
Quicksort 34
53 6 910 70 1 2 4 8
j=5i=4
wert=6
11
wert=4j=8i=6
Quicksort 35
53 11 910 70 1 2 4 8
j=4i=4
wert=6
6
wert=4j=7i=7
Quicksort 36
53 11 910 70 1 2 4 8
j=3 i=5
wert=6
6
wert=4j=6 i=7
Neu partitionieren: beide linke Teile nicht möglich,rechter Teil von 7 bis 11 mit wert=7.
Quicksort 37
53 11 910 70 1 2 4 8
wert=7
6
j=11i=7
Neu partitionieren: beide linke Teile nicht möglich,rechter Teil von 7 bis 11 mit wert=7.
Quicksort 38
53 11 910 70 1 2 4 8
wert=7
6
j=10i=7
Quicksort 39
53 11 910 70 1 2 4 8
wert=7
6
j=9i=7
Quicksort 40
53 11 97 100 1 2 4 8
wert=7
6
j=8i=8
Quicksort 41
53 11 97 100 1 2 4 8
wert=7
6
j=8 i=8
Neu partitionieren: linker Teil nicht möglich,rechter Teil von 8 bis 11 mit wert=10.
Quicksort 42
53 11 97 100 1 2 4 8
wert=10
6
j=11i=8
Quicksort 43
53 9 117 100 1 2 4 8
wert=10
6
j=10i=9
Quicksort 44
53 9 117 80 1 2 4 10
wert=10
6
i=10j=9
Neu partitionieren: linker Teil von 8 bis 9 mit wert=9,rechter Teil von 10 bis 11 mit wert=10.
Quicksort 45
53 9 117 80 1 2 4 10
wert=10
6
i=10j=9 j=11i=8
Quicksort 46
53 8 117 90 1 2 4 10
wert=10
6
i=10i=9 j=10j=8
Neu partitionieren ist links nicht mehr möglich.
Quicksort 47
53 8 117 90 1 2 4 10
wert=10
6
i=11j=9
Fertig!