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

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen und Datenstrukturen
Advertisements

Programmieren in Logik
Algorithmen und Datenstrukturen
Christian Scheideler SS 2009
Motivation Bisher: Codes mit möglichst kurzer Codelänge.
Vorlesung Programmieren II
DNA-Array oder DNA-Chip
Sortieren I - Bubblesort -
Kapitel 6: Klassifizierung von Sortiertechniken
Suche in Texten (Stringsuche )
Kapitel 7. Sortier-Algorithmen
5. Sortier-Algorithmen Vorbemerkungen:
(kleine!) Java Einführung Mittwoch, Heute Ziel: erstes Java-Programm erstellen Von der Aufgabenstellung bis zur Lösung Grundlagen Einfache.
Klicke Dich mit der linken Maustaste durch das Übungsprogramm!
Sortierverfahren Richard Göbel.
Sortierverfahren Richard Göbel.
Felder sortieren. Aufgabe: Die Zahlen eines Feldes sollen der Größe (zuerst die kleinste Zahl) nach sortiert werden.
Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (08 - Einfache Sortierverfahren) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (10 - Suchverfahren) T. Lauer.
Bestimmung des Next-Arrays im KMP-Algorithmus
Vorlesung Informatik 2 Algorithmen und Datenstrukturen Halbzeit: Was haben wir bisher gelernt? Prof. Th. Ottmann.
Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27-Selbstanordnende lineare Listen) Prof. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 16 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Sortierverfahren Susanne Freitag.
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Robot Karol.
Vorbereitung: struct SX { int x; struct SX *p; } *px, *ph; px: Zeiger auf Listen- anfang ph: Hilfszeiger px = NULL; px zeigt auf leere Liste px.
Vortrag: Ingo Gensch, Mathias Reich am:
Bubbelsort und Quicksort Vortrag von Rolf Heitzenröder
Addierwerke.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Rekursion Richard Göbel.
Übungen zur Vorlesung Stochastik und ihre Didaktik
Prof. Dr. med. Stefan Schulz
Eignungstest für eine Manager-Position
Bestandsmeldung erstellen Im Programm Powerpoint wird die Präsentation mit F5 gestartet und mit Esc beendet. Mit einem Klick der linken Maustaste oder.
Effiziente Algorithmen
4 Sortierverfahren 4.1 Einführung 4.2 Naive Sortierverfahren
Computational Thinking Suchen und Sortieren [Ordnung muss sein…]
Algorithmen Gruppe 4.
Sortieralgorithmen Sortieren von Arrays.
Computational Thinking Online Algorithmen [Was ist es wert, die Zukunft zu kennen?] Kurt Mehlhorn Konstantinos Panagiotou.
"Die vier Gesetze der Spiritualität"
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Wie man eine einfache Präsentation erstellt...
Grundlegende Sortieralgorithmen
ENDLICHE KÖRPER RSA – VERFAHREN.
PHP: Operatoren und Kontrollstrukturen
Programmieren in C Sortieren, Suchen
Mehrfachausführungen Schleifen in VB 2010 ee. Programmidee: Der Anwender gibt eine Zahl ein, und das Programm gibt die Mehrfachen dieser Zahl aus (das.
Vom graphischen Differenzieren
Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 1 Algorithmen und Datenstrukturen 1 SS 2002 Mag.Thomas.
Delphi Chars und Strings
Aufgabe: Ordnen A C Aufgabe:
Lineare Gleichungen Allgemeine Einführung Äquivalenzumformungen
Vorstellen und Herleiten der Horner Schemas
Programmiersprachen II Fortsetzung Datenstrukturen Hashing Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Allgemeine Formulierung des Suchproblems
Bubblesort. Inhaltsverzeichnis Allgemeines Aufbau Prinzip Beispiel.
Pointer, Arrays und verkettete Listen. Mehrdimensionale Arrays  Pointer auf ein Array von Pointern  int32 **matrix = new int32*[3];  matrix: Zeiger.
Suchen und Sortieren.
Graphen.
Sortieren interaktiv.
Laufzeitverhalten beim Sortieren
Sortieren interaktiv.
 Präsentation transkript:

Sortierverfahren Mit VB 2010 express edition JBS Tr, info Q1

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

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

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

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

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

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

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

Ein Beispiel JBS Tr, info Q1

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

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

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

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

Mögliches Formular JBS Tr, info Q1

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

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

Ein Beispiel JBS Tr, info Q1

Ein Beispiel JBS Tr, info Q1

Ein Beispiel JBS Tr, info Q1

Ein Beispiel JBS Tr, info Q1

Ein Beispiel JBS Tr, info Q1

Ein Beispiel JBS Tr, info Q1

Ein Beispiel JBS Tr, info Q1

Ein Beispiel JBS Tr, info Q1

Ein Beispiel JBS Tr, info Q1

Ein Beispiel JBS Tr, info Q1

Ein Beispiel JBS Tr, info Q1

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

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

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

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

Formular-Beispiel: JBS Tr, info Q1

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