Merge-Sort und Binäres Suchen. 23.11.2005 2/10D. Haehn Populäres algorithmisches Lösungsverfahren Populäres algorithmisches Lösungsverfahren Divide: Problem.

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen und Datenstrukturen
Advertisements

Algorithmen und Datenstrukturen
(bitones Sortieren, Hyperquicksort, Regular Sampling)
Rekursion: Rekurrenz: Algorithmen rufen sich selbst (rekursiv) auf.
Falls Algorithmen sich selbst rekursiv aufrufen, so kann ihr Laufzeitverhalten bzw. ihr Speicherplatzbedarf in der Regel durch eine Rekursionsformel (recurrence,
DNA-Array oder DNA-Chip
Auswahl-Sort Sortieren in mehreren Durchgängen. In jedem Durchgang wird das größte Element bestimmt und mit dem letzten Element der nichtsortierten Elemente.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
WS 03/041 Algorithmentheorie 01 - Einleitung Prof. Dr. S. Albers Prof. Dr. Th. Ottmann.
FH-Hof Der B-Baum Richard Göbel. FH-Hof Wahl des Verzweigungsgrad Verzweigungsgrad kann größer als 2 sein v Nachfolger für einen Knoten v-1 Werte in einem.
Lineare Suche Divide-and-Conquer-Suche Kombinationssuche
Kapitel 6: Klassifizierung von Sortiertechniken
G.Heyer Algorithmen und Datenstrukturen II 1 Algorithmen und Datenstrukturen II Wintersemester 2000 / 2001 Prof. Dr. Gerhard Heyer Institut für Informatik.
Kapitel 7. Sortier-Algorithmen
Kapitel 6. Suchverfahren
5. Sortier-Algorithmen Vorbemerkungen:
Synonyme: Stapel, Keller, LIFO-Liste usw.
Rekursion Was ist Rekursion? Was sind rekursive Methoden?
Lehrstuhl Informatik III, DatenbanksystemeMartin Wimmer Übung zu Architektur und Implementierung von Datenbanksystemen 1 Implementierungen des Join- Operators.
Sortierverfahren Richard Göbel.
Sortierverfahren Richard Göbel.
Effizienz: Indexstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (04 – Entwurfsverfahren) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 – Sortieren vorsortierter Daten) Prof. Th. Ottmann.
Algorithmen und Datenstrukturen
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
WS Algorithmentheorie 01 – Divide and Conquer (Segmentschnitt) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (10 - Suchverfahren) T. Lauer.
Halbzeit: Kurze Wiederholung
Sortieren vorsortierter Daten
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen Halbzeit: Was haben wir bisher gelernt? Prof. Th. Ottmann.
Algorithmen und Datenstrukturen
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 4 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Algorithmen und Datenstrukturen
WS 06/07 Algorithmentheorie 01 - Einleitung Prof. Dr. Th. Ottmann Tobias Lauer.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (09 - Weitere Sortierverfahren) Prof. Th. Ottmann.
Geometrisches Divide and Conquer
Sortierverfahren Susanne Freitag.
Diskrete Mathematik I Vorlesung 9b AVL-Baum, Algorithmen.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung In welcher Masche liegt der Punkt p?
Beispielrelation Buchbestellungen H = Menge der bedeutenden Ziele = {a, d} Schwelle T = 4 Stichprobe S = {a, b, a, a, a, a} mit s = |S| = 6 N = Anzahl.
Mergesort Divide and Conquer
Suchen & Sortieren mit Arrays.
Ideen der Informatik Suchen und Sortieren [Ordnung muss sein…]
7.1 Externes Suchen Bisherige Algorithmen: geeignet, wenn alle Daten im Hauptspeicher. Große Datenmengen: oft auf externen Speichermedien, z.B. Festplatte.
Effiziente Algorithmen
Kapitel 7: Ausgewählte Algorithmen 7.1 Externes Suchen
4 Sortierverfahren 4.1 Einführung 4.2 Naive Sortierverfahren
Computational Thinking Suchen und Sortieren [Ordnung muss sein…]
Splay Trees Von Projdakov Benjamin.
Eine Implementierung einer effiziente externe geordnete (!) lineare Liste Operationen: Search(x) Insert(x) Delete(x)
Sortieralgorithmen Sortieren von Arrays.
Sortieren und Suchen IFB 2002 Daniel Jonietz.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung 7 SS 2000 Punkt-in-Polygon-Verfahren I (Trapezkarte)
Präsentation C Tutorium von Daniel J. Nowak Folie 1 C Tutorium.
Effiziente Algorithmen
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Kapitel 6: Suchbäume und weitere Sortierverfahren
Externspeicher- Algorithmen:Teil 2
Komplexität von Algorithmen
Sortieralgorithmen Greedy Sortieren: Sortieren durch Auswahl, Einfügen und Austauschen Divide-and-Conquer-Sortieren: Quicksort und merge sort Foliensatz.
Mergesort.
Suchen und Sortieren.
Vorlesung AVL-Bäume/Algorithmen-
Vorlesung AVL-Bäume/Algorithmen-
Wiederholung TexPoint fonts used in EMF.
2. Die rekursive Datenstruktur Baum 2.1 Von der Liste zum Baum
 Präsentation transkript:

Merge-Sort und Binäres Suchen

/10D. Haehn Populäres algorithmisches Lösungsverfahren Populäres algorithmisches Lösungsverfahren Divide: Problem wird nicht als Ganzes bearbeitet, sondern in Teilprobleme geteilt Divide: Problem wird nicht als Ganzes bearbeitet, sondern in Teilprobleme geteilt Conquer: Teilprobleme werden unabhängig voneinander gelöst Conquer: Teilprobleme werden unabhängig voneinander gelöst Combine: Zusammenfügung der Teillösungen zu einer Gesamtlösung Combine: Zusammenfügung der Teillösungen zu einer Gesamtlösung

/10D. Haehn Merge-Sort Sortieralgorithmus Sortieralgorithmus Erzeugung einer sortierten Folge durch Teilen der Gesamtfolge und anschließendem Zusammenfügen der sortierten Teilfolgen Erzeugung einer sortierten Folge durch Teilen der Gesamtfolge und anschließendem Zusammenfügen der sortierten Teilfolgen Vorteil: Datenmengen, welche als Gesamtes nicht in den Hauptspeicher passen würden, können durch die Teilung trotzdem sortiert werden Vorteil: Datenmengen, welche als Gesamtes nicht in den Hauptspeicher passen würden, können durch die Teilung trotzdem sortiert werden

/10D. Haehn Merge-Sort am Beispiel Verschmelzen Teilen

/10D. Haehn Aufwand von Merge-Sort Merge-SortBubblesortQuicksortHeapsortSelectionsortInsertionsort Durchschnitt Maximal werden 2*n*log(n) Schritte benötigt, damit gehört Merge-Sort zur Gruppe Maximal werden 2*n*log(n) Schritte benötigt, damit gehört Merge-Sort zur Gruppe Im Vergleich: Im Vergleich: Damit ist Merge-Sort einer der effektivsten Sortieralgorithmen Damit ist Merge-Sort einer der effektivsten Sortieralgorithmen

/10D. Haehn Binäres Suchen Suchalgorithmus Suchalgorithmus Vorraussetzung: zu durchsuchende Liste ist sortiert Vorraussetzung: zu durchsuchende Liste ist sortiert Prinzip Telefonbuch Prinzip Telefonbuch

/10D. Haehn Binäres Suchen am Beispiel Gesucht Gesucht AnfangEndeMitte AnfangEndeMitte EndeAnfang Mitte Mitte = (1 + 10)/2 = 5 Da 7 < 8 wird der neue Anfang Mitte+1 Mitte = (6 + 10)/2 = 8 Da 14 > 8 wird das neue Ende Mitte-1 Mitte = (6 + 7)/2 = 6 Nach 3 Schritten die 8 gefunden!

/10D. Haehn Aufwand von Binäres Suchen Maximal werden log 2 (n) Schritte benötigt, damit gehört Binäres Suchen zur Gruppe Maximal werden log 2 (n) Schritte benötigt, damit gehört Binäres Suchen zur Gruppe Im Vergleich Im Vergleich Binäres Suchen ist sehr effektiv, unter der Vorraussetzung dass die Datenmenge sortiert ist Binäres Suchen ist sehr effektiv, unter der Vorraussetzung dass die Datenmenge sortiert istElemente Sequentielle Suche (n/2) ~5~50~500~5000 Binäres Suchen (log 2 n) ~3,3~6,6~9,9~13,3

/10D. Haehn Resultate Effizienz des Divide-and-Conquer-Schemas Effizienz des Divide-and-Conquer-Schemas Reduzierung des Berechnungsaufwands durch Auswahl eines geeigneten Algorithmus Reduzierung des Berechnungsaufwands durch Auswahl eines geeigneten Algorithmus Eine sortierte Datenmenge bietet eine viel effizientere Möglichkeit der Weiterarbeitung Eine sortierte Datenmenge bietet eine viel effizientere Möglichkeit der Weiterarbeitung

/10D. Haehn Ende