47
Quicksort 1 Quicksort Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

Embed Size (px)

Citation preview

Page 1: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

Quicksort 1

Quicksort

Präsentation der Arbeitsweisedes Sortieralgorithmus

Quicksort

Page 2: Quicksort1 Präsentation der Arbeitsweise des 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.

Page 3: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

Quicksort 3

01 2 3 45 710 11 9 6 8

wert=0i=0 j=10

Page 4: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

Quicksort 4

01 2 3 45 710 11 9 6 8

wert=0i=0 j=9

Page 5: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

Quicksort 5

01 2 3 45 710 11 9 6 8

wert=0i=0 j=8

Page 6: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

Quicksort 6

01 2 3 45 710 11 9 6 8

wert=0i=0 j=7

Page 7: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

Quicksort 7

01 2 3 45 710 11 9 6 8

wert=0i=0 j=6

Page 8: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

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.

Page 9: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

Quicksort 9

101 2 3 45 70 11 9 6 8

wert=0i=1 j=4

Page 10: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

Quicksort 10

101 2 3 45 70 11 9 6 8

wert=0i=1 j=3

Page 11: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

Quicksort 11

101 2 3 45 70 11 9 6 8

wert=0i=1 j=2

Page 12: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

Quicksort 12

101 2 3 45 70 11 9 6 8

wert=0i=1 j=1

Page 13: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

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.

Page 14: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

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.

Page 15: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

Quicksort 15

101 2 3 45 70 11 9 6 8

wert=2i=1 j=10

Page 16: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

Quicksort 16

101 2 3 45 70 11 9 6 8

wert=2i=1 j=9

Page 17: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

Quicksort 17

101 2 3 45 70 11 9 6 8

wert=2i=1 j=8

Page 18: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

Quicksort 18

101 2 3 45 70 11 9 6 8

wert=2i=1 j=7

Page 19: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

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.

Page 20: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

Quicksort 20

101 11 3 45 70 2 9 6 8

wert=2i=2 j=5

Page 21: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

Quicksort 21

101 3 45 70 2 9 6 8

wert=2i=2 j=4

11

Page 22: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

Quicksort 22

101 3 45 70 2 9 6 8

wert=2i=2 j=3

11

Page 23: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

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

Page 24: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

Quicksort 24

109 3 45 70 2 1 6 8

wert=2j=2 i=3i=1 j=11

wert=5

11

Page 25: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

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.

Page 26: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

Quicksort 26

104 3 95 70 1 2 6 8

i=4 j=9

wert=5

11

Page 27: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

Quicksort 27

104 3 95 70 1 2 6 8

i=4 j=8

wert=5

11

Page 28: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

Quicksort 28

104 6 95 70 1 2 3 8

i=5 j=7

wert=5

11

Page 29: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

Quicksort 29

54 6 910 70 1 2 3 8

j=6

wert=5

11

i=6

Page 30: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

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.

Page 31: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

Quicksort 31

54 6 910 70 1 2 3 8

i=3 j=5

wert=6

11

wert=3j=11i=6

Page 32: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

Quicksort 32

54 6 910 70 1 2 3 8

i=3 j=4

wert=6

11

wert=3j=10i=6

Page 33: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

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.

Page 34: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

Quicksort 34

53 6 910 70 1 2 4 8

j=5i=4

wert=6

11

wert=4j=8i=6

Page 35: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

Quicksort 35

53 11 910 70 1 2 4 8

j=4i=4

wert=6

6

wert=4j=7i=7

Page 36: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

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.

Page 37: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

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.

Page 38: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

Quicksort 38

53 11 910 70 1 2 4 8

wert=7

6

j=10i=7

Page 39: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

Quicksort 39

53 11 910 70 1 2 4 8

wert=7

6

j=9i=7

Page 40: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

Quicksort 40

53 11 97 100 1 2 4 8

wert=7

6

j=8i=8

Page 41: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

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.

Page 42: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

Quicksort 42

53 11 97 100 1 2 4 8

wert=10

6

j=11i=8

Page 43: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

Quicksort 43

53 9 117 100 1 2 4 8

wert=10

6

j=10i=9

Page 44: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

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.

Page 45: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

Quicksort 45

53 9 117 80 1 2 4 10

wert=10

6

i=10j=9 j=11i=8

Page 46: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

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.

Page 47: Quicksort1 Präsentation der Arbeitsweise des Sortieralgorithmus Quicksort

Quicksort 47

53 8 117 90 1 2 4 10

wert=10

6

i=11j=9

Fertig!