Algorithmen und Datenstrukturen

Slides:



Advertisements
Ähnliche Präsentationen
Christian Schindelhauer
Advertisements

Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
WS 03/041 Algorithmentheorie 01 - Einleitung Prof. Dr. S. Albers Prof. Dr. Th. Ottmann.
Kapitel 6: Klassifizierung von Sortiertechniken
Kapitel 6. Suchverfahren
Kapitel 3: Listen Lineare Liste: endliche Folge von Elementen eines Grundtyps (n>=0), leere Liste falls n=0 Listenelemente besitzen.
5. Sortier-Algorithmen Vorbemerkungen:
Sortierverfahren Richard Göbel.
Sortierverfahren Richard Göbel.
Vorlesung 15. Januar 2009.
WS 03/04 Algorithmentheorie 03 - Randomisierung Prof. Dr. S. Albers Prof. Dr. Th. Ottmann.
WS Algorithmentheorie 05 - Treaps Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (04 – Entwurfsverfahren) Prof. Th. Ottmann.
Algorithmen und Datenstrukturen
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (10 - Suchverfahren) T. Lauer.
Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann.
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.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen 09 - Weitere Sortierverfahren Heapsort-Nachtrag Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (18 - Bäume: Durchlaufreihenfolgen, Analyse nat. Bäume) Prof. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (11-3 –Selbstanordnende lineare Listen) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (11-1 –Selbstanordnende lineare Listen) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27-Selbstanordnende lineare Listen) Prof. Th. Ottmann.
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.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 16 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Geometrisches Divide and Conquer
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Algorithmen und Komplexität Teil 1: Grundlegende.
Lösungen zu Übungsblatt 2: Datenstrukturen, WS 2001/02, Prof. R. Bayer Lösung 3.1:a 0 + a 1 x + a 2 x 2 = a 0 + x(a 1 + xa 2 ) + +** + * ** a 0 a 1 x a.
Vortrag: Ingo Gensch, Mathias Reich am:
Ideen der Informatik Suchen und Sortieren [Ordnung muss sein…]
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung 1 SS 2001 Algorithmus von Dijkstra.
Effiziente Algorithmen
4 Sortierverfahren 4.1 Einführung 4.2 Naive Sortierverfahren
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Christian Scheideler Institut für Informatik Universität Paderborn
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Fundamente der Computational Intelligence (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl für Algorithm Engineering Wintersemester.
Mehrkriterielle Optimierung mit Metaheuristiken
Algorithmen und Datenstrukturen SS 2005 Mag.Th. Hilpold u. Dr. A.Stritzinger Institut für Wirtschaftsinformatik- Software Engineering JKU Linz.
Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 1 Algorithmen und Datenstrukturen 1 SS 2002 Mag.Thomas.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik I Vorlesung Rekursion-
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Suche des kürzesten Weges in einem Netz.
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren.
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren.
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen) sowie viele Tutoren.
Suchen und Sortieren.
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen
Vorlesung AVL-Bäume/Algorithmen-
Heap Operationen Folien bitte als Vollbild-Bildschirmpräsentation (Taste F5) betrachten! Vorlesung Algorithmen und Datenstrukturen, WS10/11, C. Eckert.
Grundlagen der Algorithmen und Datenstrukturen Kapitel 5
Christian Scheideler WS 2008
Christian Scheideler WS 2008
Wiederholung TexPoint fonts used in EMF.
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen
 Präsentation transkript:

Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren

Danksagung Die nachfolgenden 4 Präsentationen übernommen aus der Vorlesung „Effiziente Algorithmen und Datenstrukturen“ (Kapitel 5: Sortieren und Selektieren) gehalten von Christian Scheideler an der TUM http://www14.in.tum.de/lehre/2008WS/ea/index.html.de

Geht das auch schneller?? Selektion Problem: finde k-kleinstes Element in einer Folge von n Elementen Lösung: sortiere Elemente (z.B. Mergesort), gib k-tes Element aus ! Zeit O(n log n) Geht das auch schneller?? Ganz sicher für k=1 (min) und k=n (max) Ausschluss von n-1 Elementen nötig, also O(n) http://www14.in.tum.de/lehre/2008WS/ea/index.html.de

Selektion Ansatz: Verfahre ähnlich zu Quicksort j: Position des Pivotelements nach Partitionierung k<j: mach mit linker Teilfolge weiter k>j: mach mit rechter Teilfolge weiter 10 5 19 1 14 3 5 1 3 10 19 14 j http://www14.in.tum.de/lehre/2008WS/ea/index.html.de

Selektion function Quickselect(A, l, r, k) // a[l..r]: Restfeld, k: k-kleinstes Element, l≤k≤r if r = l then return A[l] z := zufällige Position in {l,..,r} temp := A[z]; A[z] := A[r]; A[r] := temp v := A[r]; i := l-1; j := r repeat // ordne Elemente in [l,r-1] nach Pivot v repeat i := i + 1 until A[i] ≥ v repeat j := j - 1 until A[j] < v or j = l if i < j then temp := A[i]; A[i] := A[j]; A[j] := temp until j ≤ i temp := A[i]; A[i] := A[r]; A[r] := temp if k < i then e := Quickselect(A, l, i-1, k) if k > i then e := Quickselect(A, i+1, r, k) if k = i then e := A[k] return e Update 27.11. http://www14.in.tum.de/lehre/2008WS/ea/index.html.de

Quickselect: Analyse Aufwand T(n): erwartete Anzahl Vergleiche Behauptung: T(n) in O(n) Beweis: Pivot ist gut: keine der Teilfolgen länger als n ∙ 2/3 Sei p = Anteil der Fälle, in denen gilt: Pivot ist gut p=1/3 gut 1/3 2/3 Pivot gut: Restaufwand ≤ T(2n/3) Pivot schlecht: Restaufwand ≤ T(n) http://www14.in.tum.de/lehre/2008WS/ea/index.html.de

Quickselect: Analyse T(n) ≤ cn + p · T(n · 2/3) + (1−p)·T(n) p · T(n) ≤ cn + p · T(n · 2/3) T(n) ≤ cn/p + T(n · 2/3) ≤ cn/p + c · (n · 2/3)/p + T(n · (2/3)2) ... wiederholtes Einsetzen ≤ (cn/p)(1 + 2/3 + 4/9 + 8/27 + ...) ≤ ≤ . = 9cn ∈ O(n) geometrische Reihe mit a0 = 1:

Überblick Bisher behandelt: Es kommt: Sortieren durch Vergleichen (vorige Sitzungen) Lineares Sortieren Prioritätswarteschlangen Selektion von Elementen aus einem Feld (z.B. Median) Es kommt: Realisierung von Mengen Assoziation von Objekten (über sog. Hashtabellen)