Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Präsentationsprüfung Informatik 2005 Patrick Stürmlinger Mergesort Divide and Conquer.

Ähnliche Präsentationen


Präsentation zum Thema: "Präsentationsprüfung Informatik 2005 Patrick Stürmlinger Mergesort Divide and Conquer."—  Präsentation transkript:

1 Präsentationsprüfung Informatik 2005 Patrick Stürmlinger Mergesort Divide and Conquer

2 Präsentationsprüfung Informatik 2005 Patrick Stürmlinger Gliederung 1. Allgmeine Informationen 2. Funktionsweise 3. Der Algorithmus 4. Implementierung 5. Vor- und Nachteile 6. Vergleich mit Insertionsort 7. Quellen

3 Präsentationsprüfung Informatik 2005 Patrick Stürmlinger Allgemeine Informationen 1945 von John von Neumann vorgestellt rekursiv funktioniert nach dem Prinzip Teile und herrsche betrachtet zu sortierende Daten als Liste teilt Daten in kleinere Listen und sortiert diese Teillisten werden wieder zusammengeführt

4 Präsentationsprüfung Informatik 2005 Patrick Stürmlinger Funktionsweise Listen werden so weit wie möglich geteilt paarweise Vermischung der Teile größere, sortierte Teillisten entstehen Teillisten werden nacheinander zu einer Liste kombiniert sortierte Gesamtliste

5 Präsentationsprüfung Informatik 2005 Patrick Stürmlinger Der Algorithmus bestehend aus rekursiver Funktion mergesort() und Mischfunktion merge() mergeSort(int[] liste, int links, int rechts): rekursiv Aufruf von merge() merge(int[] listeA, int[] listeB, int links, int mitte, int rechts):

6 Präsentationsprüfung Informatik 2005 Patrick Stürmlinger Der Algorithmus bestehend aus rekursiver Funktion mergesort() und Mischfunktion merge() mergeSort(int[] liste, int links, int rechts): rekursiv Aufruf von merge() merge(int[] listeA, int[] listeB, int links, int mitte, int rechts):

7 Präsentationsprüfung Informatik 2005 Patrick Stürmlinger Der Algorithmus bestehend aus rekursiver Funktion mergesort() und Mischfunktion merge() mergeSort(int[] liste, int links, int rechts): rekursiv Aufruf von merge() merge(int[] listeA, int[] listeB, int links, int mitte, int rechts):

8 Präsentationsprüfung Informatik 2005 Patrick Stürmlinger Der Algorithmus bestehend aus rekursiver Funktion mergesort() und Mischfunktion merge() mergeSort(int[] liste, int links, int rechts): rekursiv Aufruf von merge() merge(int[] listeA, int[] listeB, int links, int mitte, int rechts):

9 Präsentationsprüfung Informatik 2005 Patrick Stürmlinger Der Algorithmus bestehend aus rekursiver Funktion mergesort() und Mischfunktion merge() mergeSort(int[] liste, int links, int rechts): rekursiv Aufruf von merge() merge(int[] listeA, int[] listeB, int links, int mitte, int rechts):

10 Präsentationsprüfung Informatik 2005 Patrick Stürmlinger Der Algorithmus bestehend aus rekursiver Funktion mergesort() und Mischfunktion merge() mergeSort(int[] liste, int links, int rechts): rekursiv Aufruf von merge() merge(int[] listeA, int[] listeB, int links, int mitte, int rechts):

11 Präsentationsprüfung Informatik 2005 Patrick Stürmlinger Der Algorithmus bestehend aus rekursiver Funktion mergesort() und Mischfunktion merge() mergeSort(int[] liste, int links, int rechts): rekursiv Aufruf von merge() merge(int[] listeA, int[] listeB, int links, int mitte, int rechts):

12 Präsentationsprüfung Informatik 2005 Patrick Stürmlinger Der Algorithmus bestehend aus rekursiver Funktion mergesort() und Mischfunktion merge() mergeSort(int[] liste, int links, int rechts): rekursiv Aufruf von merge() merge(int[] listeA, int[] listeB, int links, int mitte, int rechts):

13 Präsentationsprüfung Informatik 2005 Patrick Stürmlinger Der Algorithmus bestehend aus rekursiver Funktion mergesort() und Mischfunktion merge() mergeSort(int[] liste, int links, int rechts): rekursiv Aufruf von merge() merge(int[] listeA, int[] listeB, int links, int mitte, int rechts):

14 Präsentationsprüfung Informatik 2005 Patrick Stürmlinger void mergeSort(int[] liste, int[] hilfsListe, int lo, int hi){ if (links

15 Präsentationsprüfung Informatik 2005 Patrick Stürmlinger void mergeSort(int[] liste, int[] hilfsListe, int lo, int hi){ if (links

16 Präsentationsprüfung Informatik 2005 Patrick Stürmlinger Vor- und Nachteile + stabil + im ungünstigsten Fall eine Laufzeit proportional zu n: n*log(n) (siehe später im Kurs) + kann Daten sequentiell abarbeiten - ein zu n proportionaler zusätzlicher Speicher wird benötigt

17 Präsentationsprüfung Informatik 2005 Patrick Stürmlinger Vergleich mit Insertionsort einfach zu implementieren stabil bei großen Datenmengen wenig effizient bei vorsortierten Datenmengen effizient wenig Speicherbedarf (in-place) kompliziert stabil bei großen Datenmengen effizient bei vorsortierten Datenmengen ineffizient zu n proportionaler Speicherbedarf (out-of-place) InsertionsortMergesort

18 Präsentationsprüfung Informatik 2005 Patrick Stürmlinger Quellen Algorithmen - Eine Einführung Autoren: Cormen, Leierson, Rivest und Stein Verlag: Oldenbourg Erscheinungsdatum: 8. September mergesort insertionsort Stand: related.de/index.html?/coding/sort/sort_merge.htm Stand:


Herunterladen ppt "Präsentationsprüfung Informatik 2005 Patrick Stürmlinger Mergesort Divide and Conquer."

Ähnliche Präsentationen


Google-Anzeigen