Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Mit vielen bunten Farben

Ähnliche Präsentationen


Präsentation zum Thema: "Mit vielen bunten Farben"—  Präsentation transkript:

1 Mit vielen bunten Farben
Quick Sort Mit vielen bunten Farben Barbara Keller, 2005

2 Fröhliches Farbensortieren
Wir möchten diese Farbenreihe sortieren. Wir beginnen folgendermassen: Alle hellen Farben bringen wir auf die linke, alle dunklen Farben auf die rechte Seite. Sobald das erledigt ist, sortieren wir die hellen Farben. Dann sortieren wir die dunklen Farben. Fertig. Barbara Keller, 2005

3 Aller Anfang ist schwer
Zuerst müssen wir aber herausfinden, welche Farben hell, und welche Farben dunkel sind. Dieses Problem lösen wir so: Wir bestimmen ein Element und nennen es Pivot-Element. Alle Farben, die heller sind als unser Pivot-Element, gehören zu den hellen Farben. Alle Elemente, die dunkler sind als unser Pivot, ordnen wir den dunklen Farben zu. Barbara Keller, 2005

4 Wo ist unser Pivot? Am liebsten hätten wir ein Element, welches unsere Farbenreihe in zwei gleichgrosse Teile teilt. Da wir aber nicht wissen, wo sich dieses Element befindet, und uns nichts besseres einfällt, wählen wir einfach das erste Element als unser Pivot. Da ist unser Pivot! Barbara Keller, 2005

5 Wie bringen wir die hellen Farben auf die linke Seite?
Wir wandern von links nach rechts und vergleichen jedes Element mit unserem Pivot-Element. Ist es heller als unser Pivot, ist es bereits auf der richtigen Seite und wir sehen uns das nächste Element an. Ist es aber dunkler, stoppen wir. Sobald wir ein dunkleres Element gefunden haben, beginnen wir dasselbe Spiel von rechts. Wir wandern von rechts nach links, bis wir ein Element finden, das heller ist als unser Pivot. Barbara Keller, 2005

6 1. Hier oben findest du eine Übersicht, auf welcher Rekursionsstufe wir uns befinden. Unser Pivot-Element Wenn wir das so anstellen, sind alle Elemente bis zum grünen Pfeil heller als das Pivot-Element und alle Elemente vom rechten Rand bis zum blauen Pfeil dunkler. Barbara Keller, 2005

7 1. Links haben wir nun ein Element, welches auf die rechte Seite gehört, rechts haben wir ein Element, welches auf die linke Seite gehört => Wieso tauschen wir nicht einfach? Unser Pivot-Element HALT, dieses Element ist dunkler als unser Pivot, sowas gehört auf die andere Seite Dieses Element ist heller als unser Pivot-Element, wir können also nach rechts rutschen Auch dieses Element ist heller, wir gehen einen Schritt weiter Ups, dieses Element ist heller als unser Pivot, halten wir also an! Dieses Element ist sowieso heller, gehen wir eins weiter Barbara Keller, 2005

8 Wieder haben wir zwei Elemente, die getauscht werden müssen
1. Wieder haben wir zwei Elemente, die getauscht werden müssen Unser Pivot-Element Stopp, da ist ja bereits ein helleres Element Gesagt, getan, wir haben nun die beiden Elemente vertauscht und somit ist wieder alles in bester Ordnung! Alle Elemente links vom grünen Pfeil (ausser das Pivot) sind heller, alle Elemente rechts vom blauen Pfeil sind dunkler als das Pivot. Nun wandert der blaue Pfeil wieder nach links, bis er ein Element findet, das heller ist als unser Pivot. Schon wieder dunkler, warten wir also wieder. Barbara Keller, 2005

9 Stopp, der grüne Pfeil zeigt auf ein dunkleres Element
1. Die Pfeile haben ihre Wege gekreuzt. Links vom grünen Pfeil sind alle helleren Elemente, rechts vom blauen Pfeil sind alle Elemente, die dunkler sind als unser Pivot. Das heisst nichts anderes, als das wir den Platz von unserem Pivot-Element gefunden haben: Es kommt genau zwischen diese zwei Elemente, auf welche die zwei Pfeile zeigen! Wenn wir also das hellere Element mit unserem Pivot-Element vertauschen, liegt unser Pivot-Element am richtigen Platz: Alle Elemente links von unserem Pivot sind dann heller und alle Elemente rechts von unserem Pivot sind dunkler. Durch den Tausch stimmts wieder: Links befinden sich die helleren Farben, rechts die dunkleren. Wir können also mit unseren Pfeilen weiter fahren. Unser Pivot-Element Stopp, der grüne Pfeil zeigt auf ein dunkleres Element Nochmals Stopp, der blaue Pfeil zeigt auf ein Element, welches heller ist als unser Pivot Barbara Keller, 2005

10 Wir sortieren zuerst die gelben Farben und dann noch die roten Farben
1. Unser Pivot-Element hat nun seinen Platz gefunden, deshalb markieren wir es mit einem Smiley. Unsere Aufgabe war es, diese Farbenfolge zu sortieren. Wir haben diese Aufgabe in 2 neue Aufgaben unterteilt: Wir sortieren zuerst die gelben Farben und dann noch die roten Farben Barbara Keller, 2005

11 Unser Pivot der gelben Farben
1. 2. Um nun die Reihenfolge wieder in die richtige Ordnung zu bringen, vertauschen wir diese zwei Elemente einfach miteinander. Unser Pivot der gelben Farben Um die hellen Farben zu sortieren, wählen wir das vorderste Element der hellen Farben als neues Pivot-Element. Zuerst beginnt der grüne Pfeil. Da er bereits auf ein dunkleres Element zeigt, muss er warten Auch der blaue Pfeil muss warten, da er auf ein helleres Element zeigt Barbara Keller, 2005

12 Unser Pivot der gelben Farben
1. 2. Unsere Pfeile haben sich wieder gekreuzt, wir haben also auch den Platz für unser Pivot der gelben Farben gefunden. Wenn wir unser Pivot nun mit dem Element tauschen, auf das der blaue Pfeil zeigt, haben wir das Pivot richtig platziert. Unser Pivot der gelben Farben Dieses Element ist sowieso dunkler, machen wir weiter. Nun ist dieses Element heller als unser Pivot-Element, wir können also einen Schritt weiter Stopp, jetzt haben wir doch noch ein Element gefunden, das heller ist; warten wir also Auch dieses Element ist dunkler, gehen wir eins weiter Dieses Element ist dunkler als das Pivot, wir können getrost einen Schritt weiter gehen Da dieses Element dunkler ist, muss der grüne Pfeil eine kurze Pause einlegen Barbara Keller, 2005

13 Wir sortieren zuerst die linke Seite….
1. 2. Dieses Element ist also auch bereits am richtigen Platz. Denn links von ihm stehen nur hellere, rechts von ihm nur dunklere Elemente. Deshalb bekommt es auch einen Smiley von uns. Unsere Teilaufgabe war es, diese Farbenfolge zu sortieren. Wir teilen diese Aufgabe wiederum in zwei neue Aufgaben auf: Wir sortieren zuerst die linke Seite…. Dann sortieren wir die rechte Seite Die linke Seite sortieren? Ist sie das nicht schon? Ja, aber das weiss der Computer ja noch nicht. Barbara Keller, 2005

14 Deshalb wird dieses Element auch mit dem Smiley ausgezeichnet.
1. 2. 3. Der Computer sieht sich den linken Teil an und stellt fest, dass es sich nur um ein einzelnes Element handelt. Dieses ist selbstverständlich am richtigen Platz, da es ja gar keinen anderen Platz gibt. Deshalb wird dieses Element auch mit dem Smiley ausgezeichnet. Barbara Keller, 2005

15 Nun kümmert sich der Computer um die dunkleren der gelben Farben:
1. 2. Da sich die Pfeile kreuzten, haben wir wiederum den endgültigen Platz für unser Pivot- Element gefunden. Wir müssen es also nur noch an den richtigen Platz bringen. Wenn wir es mit dem helleren Element tauschen, sind alle Elemente links von unserem Pivot heller, alle anderen Elemente dunkler, genau so, wie wir es uns wünschen. 3. Nun kümmert sich der Computer um die dunkleren der gelben Farben: Das Vorderste wird wieder zum Pivot. Ich bin auch ein Pivot-Element Der grüne Pfeil zeigt auf ein Element, welches heller ist als unser Pivot, daher gehen wir eins weiter Da auch dieses Element heller ist, rutschen wir nochmals nach rechts Der blaue Pfeil steht bereits auf einem helleren Feld, warten wir mal ab Nun müssen wir stoppen, da der grüne Pfeil auf ein dunkleres Element zeigt Barbara Keller, 2005

16 und in eine rechte Folge mit dunkleren Farben.
1. 2. Wir haben ein Element mehr glücklich gemacht; Es hat seinen Platz gefunden, daher kriegt es auch einen Smiley. 3. Wir sind aber noch nicht fertig, schliesslich müssen wir nun wieder die neu entstandenen Teile sortieren. und in eine rechte Folge mit dunkleren Farben. Diese Farbenfolge ist etwas spezieller. Unser letztes Pivot war das Dunkelste in seiner Farbenfolge. Deswegen wurde es zuhinterst eingeordnet. Es gibt also keine dunkleren Farben. Daher ist die rechte Farbenfolge diesmal leer. Das soll uns nicht weiter stören. Wir werden das etwas später genauer betrachten. Wir haben diese Farbenfolge in zwei kleinere Farbenfolgen aufgeteilt: Und zwar in eine linke Folge mit helleren Farben Barbara Keller, 2005

17 Sortieren wir also zunächst die linke Teilfolge:
1. 2. 3. 4. Sortieren wir also zunächst die linke Teilfolge: Das vorderste Element wird unser nächstes Pivot. nächstes Pivot-Element Der grüne Pfeil steht auf einem helleren Element, kann also einen Schritt weiterfahren Der blaue Pfeil zeigt bereits auf ein helleres Element, muss also auch warten Nun steht er auf einem dunkleren Element, muss also kurz innehalten Barbara Keller, 2005

18 nächstes Pivot-Element
1. 2. Die Pfeile haben sich gekreuzt, also haben wir den richtigen Platz gefunden. Wenn wir unser jetziges Pivot-Element mit dem Element tauschen, auf das der blaue Pfeil zeigt, sind wir der sortierten Farbenfolge etwas näher. 3. 4. nächstes Pivot-Element Barbara Keller, 2005

19 Leider sind wir immer noch nicht fertig. Wir müssen nun
1. Da auch dieses Element nun am richtigen Platz steht, wird es auch mit einem Smiley markiert. Leider sind wir immer noch nicht fertig. Wir müssen nun die linke Seite, und dann die rechte Seite von unserem letzten Pivot sortieren. 2. 3. 4. 5. Bei der linken Seite haben wir Glück: Der Computer erkennt schnell, dass es sich um ein einzelnes Element handelt. Es ist also schon sortiert und bekommt auch einen Smiley. Wo bitte schön ist unsere unsortierte rechte Seite? Sie befindet sich hier, es handelt sich wieder um die leere Farbenfolge. Der Computer ist somit fertig, bevor er angefangen hat. Barbara Keller, 2005

20 Diese Teilfolge haben wir jetzt bereits sortiert.
1. 2. 3. 4. Diese Teilfolge haben wir jetzt bereits sortiert. Als nächstes käme jetzt noch dieser Teil. Aber wie bei der letzten leeren Folge merkt der Computer, dass er gar nichts zu tun hat. Wir haben also diese Teilfolge sortiert. Und das war nichts anderes, als die rechte Seite von dieser Teilfolge Barbara Keller, 2005

21 Das bedeutet: Wir haben die gelben Farben erfolgreich sortiert.
1. 2. Das bedeutet: Wir haben die gelben Farben erfolgreich sortiert. Kannst du dich noch an unsere Aufgabe und den dazugehörenden Plan erinnern? Zuerst die Gelben… Wir wollten diese Farbenreihe sortieren dann die Roten Also machen wir uns jetzt daran, die roten Farben zu sortieren. Drei Mal darfst du raten, wie wir das anstellen werden: Genau! Wieder mit dem gleichen Verfahren wie bisher. Barbara Keller, 2005

22 Damit dir nicht langweilig wird, bist nun du dran:
1. Damit dir nicht langweilig wird, bist nun du dran: Welches Element wählen wir als Pivot-Element? Bitte Klicke auf dieses Element. 2. Nein, dieses Element ist bereits sotiert. Nein, dieses Element ist bereits sotiert. Nein, dieses Element ist bereits sotiert. Nein, dieses Element ist bereits sotiert. Nein, dieses Element ist bereits sotiert. Nein, dieses Element ist bereits sotiert. Nö, wir wählen ein anderes Barbara Keller, 2005

23 Richtig, das ist unser nächstes Pivot-Element
1. 2. Richtig, das ist unser nächstes Pivot-Element Barbara Keller, 2005

24 Platziere nun den grünen Pfeil, indem du an den passenden Ort klickst
1. Platziere nun den grünen Pfeil, indem du an den passenden Ort klickst 2. Richtig, das ist unser nächstes Pivot-Element Barbara Keller, 2005

25 1. 2. Genau, nun platziere den blauen Pfeil, indem du an den passenden Ort klickst. Richtig, das ist unser nächstes Pivot-Element Barbara Keller, 2005

26 Klick auf das Objekt, welches als nächstes zu arbeiten hat
1. Nein, das Pivot darf heute ausschlafen 2. Nein, dieses Feld macht gerade Pause Yepp, und nun? Klick auf das Objekt, welches als nächstes zu arbeiten hat Wenn du einen Pfeil anklicken willst, musst du sehr genau auf seine Spitze klicken Richtig, das ist unser nächstes Pivot-Element Klicke nun auf dieses Symbol Genau, der blaue Pfeil zeigt auf ein dunkleres Element, er muss also noch weiter gehen. Nein, der grüne Pfeil zeigt bereits auf ein dunkleres Element, er muss warten Barbara Keller, 2005

27 Wer ist jetzt an der Reihe?
Jetzt kannst du wieder auf weiter klicken 1. Nein, dieses Feld macht gerade Pause 2. Wer ist jetzt an der Reihe? Nein, das Pivot darf auch heute ausschlafen Richtig, das ist unser nächstes Pivot-Element Genau, der blaue Pfeil ist immer noch an der Reihe Nein, der grüne Pfeil zeigt bereits auf ein dunkleres Element, er muss warten Barbara Keller, 2005

28 1. 2. Nee, dieses Element wird zur Zeit nicht betrachtet Wer ist den nun dran? Richtig, das ist unser nächstes Pivot-Element Nein, das Pivot ist noch nicht an der Reihe Nein, dieses Element ist heller als unser Pivot, der blaue Pfeil muss sich etwas gedulden Nein, der grüne Pfeil zeigt bereits auf ein dunkleres Element, er muss warten Barbara Keller, 2005

29 1. Genau. Wir müssen die zwei Elemente, die von den Pfeilen markiert sind, vertauschen. 2. Barbara Keller, 2005

30 So gefällts uns doch gleich besser. Aber wer ist jetzt dran?
1. So gefällts uns doch gleich besser. Aber wer ist jetzt dran? 2. Nein, dieses Element ist schon in der richtigen Reihenfolge Nein, nein, das Pivot-Element darf sich noch etwas ausruhen Richtig: Der grüne Pfeil zeigt jetzt auf ein helleres Element, er darf also eins nach rechts rutschen. Nein, der blaue Pfeil ist noch nicht an der Reihe Um weiter zu kommen, kannst du auf dieses Symbol klicken Barbara Keller, 2005

31 An wem bleibt denn nun die Arbeit hängen?
1. 2. Nein, nein, das Pivot-Element darf sich noch etwas ausruhen Nein, dieses Element hat gerade Ferien Nein, der grüne Pfeil zeigt auf ein dunkleres Element, muss also warten Um weiter zu kommen kannst du auf das Symbol klicken Richtig, der blaue Pfeil zeigt auf ein dunkleres Feld, er darf sich also auf Wanderung begeben Barbara Keller, 2005

32 Klicke auf denjenigen, der zu arbeiten hat
Und nun? Klicke auf denjenigen, der zu arbeiten hat 1. 2. Nein, dieses Element ist schon in der richtigen Reihenfolge Jawoll! Die Pfeile haben sich gekreuzt; Nun ist unser Pivot-Element dran Damit’s weiter geht, klicke hier: Nein, der grüne Pfeil zeigt auf ein dunkleres Element, muss also warten Nein, der blaue Pfeil zeigt auf ein helleres Objekt, er muss warten Barbara Keller, 2005

33 Mit wem wird denn unser Pivot vertauscht?
1. 2. Mit wem wird denn unser Pivot vertauscht? Genau, wenn es mit diesem Element vertauscht wird, kriegen wir die gewünschte Reihenfolge Nein, es wird nicht mit sich selber vertauscht Damit’s weiter geht, klicke hier: Nö, wenn wir es mit diesem Element vertauschen, haben wir links von unserem Pivot-Element ein dunkleres Element, das gefällt uns nicht! Nein, dieses Element wird zur Zeit gar nicht betrachtet Du kannst unser Pivot-Element nicht mit einem Pfeil tauschen! Barbara Keller, 2005

34 Du hast soeben einen Teilschritt von Quicksort selbständig ausgeführt.
1. 2. Gratuliere! Du hast soeben einen Teilschritt von Quicksort selbständig ausgeführt. Barbara Keller, 2005

35 Da unser Pivot nun am richtigen Platzt steht, kriegt es einen Smiley
1. Da unser Pivot nun am richtigen Platzt steht, kriegt es einen Smiley 2. 3. So ist es. Und da es sich um ein einzelnes Element handelt, ist es schon sortiert und bekommt einen Smiley. Weiter: Was passiert jetzt? Klicke auf den entsprechenden Text b) Wir sortieren diesen Teil zuerst a) Wir sortieren diesen Teil zuerst Leider nein. Wir sortieren immer zuerst den linken und dann den rechten Teil Barbara Keller, 2005

36 Wie könnten wir es vergessen: The same procedure as last time!
Nun sind wir schon bald fertig: Wir müssen nur noch diesen kleinen Teil sortieren Nur wie? Wie könnten wir es vergessen: The same procedure as last time! 1. 2. 3. Ja, du hast unser Pivot gefunden Wähle das Pivot-Element aus, indem du drauf klickst: Nein, dieses Element ist bereits sortiert, deswegen trägt es ja so stolz einen Smiley mit sich rum. Nee, so sieht unser Pivot-Element aber nicht aus Barbara Keller, 2005

37 Platziere den grünen Pfeil am richtigen Platz
1. 2. 3. Platziere den grünen Pfeil am richtigen Platz Ja, du hast unser Pivot gefunden Barbara Keller, 2005

38 Richtig, und nun den blauen
1. 2. 3. Richtig, und nun den blauen Ja, du hast unser Pivot gefunden Barbara Keller, 2005

39 Wer muss sich nun bewegen?
1. Richtig. Wer muss sich nun bewegen? 2. 3. Nee, das Pivot darf noch etwas liegen bleiben. Ja, du hast unser Pivot gefunden Nein, der grüne Pfeil zeigt bereits auf ein dunkleres Element, er muss warten Nein, der blaue Pfeil zeigt schon auf ein helleres Element. Geduldig wartet er. Barbara Keller, 2005

40 1. Gut! Die zwei Elemente, die von den Pfeilen markiert werden, müssen die Plätze tauschen. 2. 3. Ja, du hast unser Pivot gefunden Barbara Keller, 2005

41 Wer darf sich als nächstes bewegen?
1. 2. 3. Nein, dieses Element ist in der richtigen Reihenfolge Nein, das Pivot-Element darf sich erst bewegen, wenn sich die zwei Pfeile überkreuzt haben Ja, du hast unser Pivot gefunden Und nun? Wer darf sich als nächstes bewegen? Nein, der blaue Pfeil ist noch nicht an der Reihe Damit gehts weiter Richtig, da der grüne Pfeil nun auf ein helleres Element zeigt, geht er einen Schritt nach rechts. Barbara Keller, 2005

42 Und nun? Wer ist an der Reihe? 1.
Nein, dieses Element ist in der richtigen Reihenfolge 2. 3. Und nun? Wer ist an der Reihe? Nein, das Pivot-Element darf sich erst bewegen, wenn sich die zwei Pfeile überkreuzt haben Ja, du hast unser Pivot gefunden Nein, der grüne Pfeil zeigt auf ein dunkleres Element und muss warten Genau, der grüne Pfeil wartet schon und der blaue zeigt auf ein dunkleres Element. Er rutscht also einen Platz nach links Mit dem geht’s weiter Barbara Keller, 2005

43 Wen triffts in dieser Runde? Klicke den Auserwählten an.
1. 2. 3. Nein, dieses Element kann sich ausruhen Wen triffts in dieser Runde? Klicke den Auserwählten an. So ist‘s: Die Pfeile haben sich überkreuzt, also muss nun unser Pivot aktiv werden Jein, eigentlich ist das die Antwort auf die nächste Frage Nein, der blaue Pfeil hat seine Arbeit bereits getan, er kann sich etwas ausruhen Nein, der grüne Pfeil hat bereits geschuftet. Er macht gerade Pause Mit dem geht’s weiter Barbara Keller, 2005

44 Mit welchem Element tauscht unser Pivot seinen Platz?
1. 2. Nein, dieser Platz gefällt unserem Pivot gar nicht 3. Mit welchem Element tauscht unser Pivot seinen Platz? Unser Pivot will nicht am eigenen Platz bleiben Unser Pivot hat keine Lust auf den Platz vom blauen Pfeil Unser Pivot tauscht seinen Platz sicher nicht mit einem grünen Pfeil Barbara Keller, 2005

45 Mit diesem tauscht es den Platz.
1. 2. 3. Ja genau! Mit diesem tauscht es den Platz. Barbara Keller, 2005

46 Hast du eine Vermutung, was jetzt geschehen wird?
1. 2. 3. 4. Am neuen Platz angekommen fühlt sich unser Pivot-Element so wohl, dass es sich einen Smiley kauft. Hast du eine Vermutung, was jetzt geschehen wird? Wir haben es ja auch schon einige Male durchgespielt… Zuerst betrachten wir die linke Seite: Da es sich um ein einzelnes Element handelt, sind wir fertig. Wir verleihen ihm den Smiley. Barbara Keller, 2005

47 1. 2. Jetzt betrachten wir noch die rechte Seite und stellen fest, dass auch hier nur noch ein Element übrig geblieben ist. Dieses Element ist also auch sortiert ; Überreichen wir ihm auch einen Smiley. 3. 4. Barbara Keller, 2005

48 war die rechte Seite von dieser Teilfolge.
1. 2. 3. 4. Dieses Element war die rechte Seite von dieser Teilfolge. Diese Teilfolge ist demnach sortiert. Sie war aber nichts anderes als der rechte Teil der roten Farben Barbara Keller, 2005

49 Also sind nun auch die roten Farben sortiert. Und was bedeutet das?
Barbara Keller, 2005

50 Also sind nun auch die roten Farben sortiert Und was bedeutet das?
Da die roten Farben die rechte Seite von unserer Farbenfolge waren, haben wir also tatsächlich die ganze Folge sortiert. Barbara Keller, 2005

51 JUHUI! Wir sind fertig! Barbara Keller, 2005


Herunterladen ppt "Mit vielen bunten Farben"

Ähnliche Präsentationen


Google-Anzeigen