Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Sortierverfahren Mit VB 2010 express edition JBS Tr, info Q1.

Ähnliche Präsentationen


Präsentation zum Thema: "Sortierverfahren Mit VB 2010 express edition JBS Tr, info Q1."—  Präsentation transkript:

1 Sortierverfahren Mit VB 2010 express edition JBS Tr, info Q1

2 Zielsetzung Ein Feld(Array) von Daten soll, damit es leichter verarbeitet werden kann, nach einem vorgegebenen Schema sortiert werden: – numerisch – alphabetisch JBS Tr, info Q1

3 Beispiele für Sortierbedarf Klassenlisten Telefonbücher Abrechnungen Ordnerstruktur im PC etc. JBS Tr, info Q1

4 Erinnerung Was ist ein Algorithmus? Unter einem Algorithmus (auch Lösungs- verfahren) versteht man eine genau definierte Handlungsvorschrift zur Lösung eines Problems oder einer bestimmten Art von Problemen in endlich vielen Schritten. JBS Tr, info Q1

5 d.h. Das Verfahren muss in einem endlichen Text eindeutig beschreibbar sein (Finitheit). Jeder Schritt des Verfahrens muss tatsächlich ausführbar sein (Ausführbarkeit). Das Verfahren darf zu jedem Zeitpunkt nur endlich viel Speicherplatz benötigen Das Verfahren darf nur endlich viele Schritte benötigen (Terminierung). JBS Tr, info Q1

6 Ganz gut wäre… Wenn der Algorithmus bei denselben Voraussetzungen immer das gleiche Ergebnis liefert. (Determiniertheit) Die nächste anzuwendende Regel im Verfahren zu jedem Zeitpunkt eindeutig definiert ist. (Determinismus) JBS Tr, info Q1

7 Zurück zum Sortieren: Folgende Sortierverfahren werden häufig angewandt: – Select-Sort – Bubble-Sort – Insert-Sort – Quick-Sort JBS Tr, info Q1

8 Select-Sort Idee: Finde zunächst das kleinste Element im Datenarray und tausche es gegen das an der ersten Stelle befindliche Element aus. Anschließend finde das zweitkleinste Element und tausche es gegen das zweite Element aus usw…. JBS Tr, info Q1

9 Ein Beispiel 25348342586192653921 348342586192653925 21258342586192653934 21253442586192653983 21253439586192654283 21253439426192655883 21253439425892656183 21253439425861659283 21253439425861659283 21253439425861658392 JBS Tr, info Q1

10 Was muss passieren? Es muss ermittelt werden, an welcher Position das kleinste Element (Minimum) des Feldes sitzt. Sei a(i) das Minimum Schleife: Vergleiche alle Zahlen mit Minimum, wenn eine Zahl kleiner ist, dann wähle diese als Minimum JBS Tr, info Q1

11 Tausch-Schritt: Wenn die kleinste Zahl ermittelt ist, tausche sie mit der Zahl an der ersten Position. Beginne von vorn mit der zweiten Zahl, d.h. alles bisherige muss in einer weiteren Schleife zusammengefasst werden. JBS Tr, info Q1

12 Struktogramm Für i = 1 bis Anzahl – 1 Element a(i) als Minimum festlegen Für j = i bis Anzahl a(j) < Minimum JaNein Minimum = a(j) falsche Position von Min Ja i j Nein a(j) = a(i) a(i) = Minimum JBS Tr, info Q1

13 Aufgabenstellung Erstellen Sie ein Programm, mit dessen Hilfe Elemente in eine Liste eingefügt werden (über eine ListBox) und sortieren Sie anschließend diese Liste mit Select(ion)-Sort Beachten Sie hierbei: Die Listenelemente werden durch ein Array aufgerufen: lstListe.Items(i) JBS Tr, info Q1

14 Mögliches Formular JBS Tr, info Q1

15 Code für Select-Sort Private Sub bnSelect_Click(…) Handles bnSelect.Click Hättest du wohl gerne … End Sub JBS Tr, info Q1

16 Bubble-Sort Idee: Vergleiche von links nach rechts immer zwei Elemente der Liste (des Arrays) und vergleiche sie und tausche sie gegebenenfalls. Dadurch wandert die größte Zahl immer weiter nach rechts Beim zweiten Durchgang wandert die zweitgrößte Zahl, usw. JBS Tr, info Q1

17 Ein Beispiel 37249168775 JBS Tr, info Q1

18 Ein Beispiel 37249168775 37249168775 JBS Tr, info Q1

19 Ein Beispiel 37249168775 37249168775 24379168775 JBS Tr, info Q1

20 Ein Beispiel 37249168775 37249168775 24379168775 24937168775 JBS Tr, info Q1

21 Ein Beispiel 37249168775 37249168775 24379168775 24937168775 24916378775 JBS Tr, info Q1

22 Ein Beispiel 37249168775 37249168775 24379168775 24937168775 24916378775 24916378775 JBS Tr, info Q1

23 Ein Beispiel 37249168775 37249168775 24379168775 24937168775 24916378775 24916378775 24916377587 JBS Tr, info Q1

24 Ein Beispiel 37249168775 37249168775 24379168775 24937168775 24916378775 24916378775 24916377587 24916377587 JBS Tr, info Q1

25 Ein Beispiel 24916377587 92416377587 JBS Tr, info Q1

26 Ein Beispiel 24916377587 92416377587 91624377587 JBS Tr, info Q1

27 Ein Beispiel 24916377587 92416377587 91624377587 91624377587 91624377587 JBS Tr, info Q1

28 Ein Beispiel 24916377587 92416377587 91624377587 91624377587 Eine weiter Überprüfung der Zahlen ergibt, dass sie schon in der richtigen Reihenfolge stehen, die Liste ist also sortiert. JBS Tr, info Q1

29 Was muss passieren? In jedem Durchlauf wird geprüft, ob ein Element größer als das darauffolgende ist. Wenn ja, werden diese beiden Elemente vertauscht, das größere Element wandert also nach rechts Wenn nein, dann wird das folgende Element zum Vergleich herangezogen. Dann beginnt der nächste Durchlauf JBS Tr, info Q1

30 Bubble-Struktogramm Liste erstellen Für i = 0 bis anzahl - 1 Für j = 0 bis Anzahl - 1 Wenn zahl(i) < zahl(j) ja nein Tausche zahl(i) und zahl(j) Ausgabe des sortierten Arrays JBS Tr, info Q1

31 Aufgabenstellung Na, is‘ ja wohl klar oder? Sie können gerne den Bubble Sort-Algorithmus über einen eignenen Button in das schon existierende Programm integrieren. Das könnte so aussehen: JBS Tr, info Q1

32 Formular-Beispiel: JBS Tr, info Q1

33 Code für Bubble-Sort JBS Tr, info Q1


Herunterladen ppt "Sortierverfahren Mit VB 2010 express edition JBS Tr, info Q1."

Ähnliche Präsentationen


Google-Anzeigen