100 likes | 274 Views
Merge-Sort und Binäres Suchen. Populäres algorithmisches Lösungsverfahren Divide: Problem wird nicht als Ganzes bearbeitet, sondern in Teilprobleme geteilt Conquer: Teilprobleme werden unabhängig voneinander gelöst Combine: Zusammenfügung der Teillösungen zu einer Gesamtlösung. Merge-Sort.
E N D
Populäres algorithmisches Lösungsverfahren • Divide: Problem wird nicht als Ganzes bearbeitet, sondern in Teilprobleme geteilt • Conquer: Teilprobleme werden unabhängig voneinander gelöst • Combine: Zusammenfügung der Teillösungen zu einer Gesamtlösung D. Haehn
Merge-Sort • Sortieralgorithmus • 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 D. Haehn
Merge-Sort am Beispiel 5 1 8 3 9 2 5 1 8 3 9 2 Teilen 8 3 9 2 5 1 5 1 3 9 1 5 3 9 1 5 8 2 3 9 Verschmelzen 1 2 3 5 8 9 D. Haehn
Aufwand von Merge-Sort • Maximal werden 2*n*log(n) Schritte benötigt, damit gehört Merge-Sort zur Gruppe • Im Vergleich: • Damit ist Merge-Sort einer der effektivsten Sortieralgorithmen D. Haehn
Binäres Suchen • Suchalgorithmus • Vorraussetzung: zu durchsuchende Liste ist sortiert • Prinzip „Telefonbuch“ D. Haehn
Binäres Suchen am Beispiel • Gesucht 8 1 2 3 4 5 6 7 8 9 10 1 3 4 5 7 8 10 14 16 20 Mitte = (1 + 10)/2 = 5 Anfang Mitte Ende Da 7 < 8 wird der neue Anfang Mitte+1 1 3 4 5 7 8 10 14 16 20 Mitte = (6 + 10)/2 = 8 Anfang Mitte Ende Da 14 > 8 wird das neue Ende Mitte-1 1 3 4 5 7 8 10 14 16 20 Mitte = (6 + 7)/2 = 6 Anfang Ende Nach 3 Schritten die 8 gefunden! Mitte D. Haehn
Aufwand von Binäres Suchen • Maximal werden log2(n) Schritte benötigt, damit gehört Binäres Suchen zur Gruppe • Im Vergleich • Binäres Suchen ist sehr effektiv, unter der Vorraussetzung dass die Datenmenge sortiert ist D. Haehn
Resultate • Effizienz des „Divide-and-Conquer“-Schemas • Reduzierung des Berechnungsaufwands durch Auswahl eines geeigneten Algorithmus • Eine sortierte Datenmenge bietet eine viel effizientere Möglichkeit der Weiterarbeitung D. Haehn
Ende D. Haehn