Entwurf und Analyse von Datenstrukturen

Größe: px
Ab Seite anzeigen:

Download "Entwurf und Analyse von Datenstrukturen"

Transkript

1 Entwurf und Analyse von Datenstrukturen Sommersemester Termin: 17. April 2013 Jan-Henrik Haunert ehem. Mathebau, Raum E27 Alexander Wolff ehem. Mathebau, Raum E29 Lehrstuhl für Informatik I Effiziente Algorithmen und wissensbasierte Systeme

2 Kursraum in Moodle

3 Modus des Seminars je ein Thema für zwei Studierende jede Gruppe hält Kurzvortrag am (max 5 min, 3 Folien) ausführlicher Vortrag an einem eigens für Euch reservierten Termin 45 min Vortrag danach Diskussion danach gemeinsame Lösung von Euch gestellter Übungsaufgaben Spätestens zwei Wochen vor Eurem Vortrag sendet Ihr Eure Folien an jan.haunert@uni-wuerzburg.de; Ihr habt dann noch Gelegenheit für Korrekturen. Am Ende des Semesters gebt Ihr eine schriftliche Ausarbeitung ab (10 Seiten mit der Formatvorlage im Moodle), die alle TeilnehmerInnen in digitaler Form erhalten. Ihr dürft höchstens zweimal fehlen.

4 Ein Beispiel aus dem Themenbereich Fensteranfragen in geographischen Informationssystemen (GIS) Gegeben: ein sehr großer Straßendatensatz

5 Ein Beispiel aus dem Themenbereich Fensteranfragen in geographischen Informationssystemen (GIS) Gegeben: ein sehr großer Straßendatensatz Nur Ausschnitt in Fenster soll gezeichnet werden. Ziel: Finde alle Linien, die (zu Teilen) in Fenster liegen.

6 Ein Beispiel aus dem Themenbereich Fensteranfragen in geographischen Informationssystemen (GIS) Naiver Ansatz: Speicher die Linien in einer Liste. Bei jedem Neuzeichnen gehe die ganze Liste durch.

7 Ein Beispiel aus dem Themenbereich Fensteranfragen in geographischen Informationssystemen (GIS) Naiver Ansatz: Speicher die Linien in einer Liste. Bei jedem Neuzeichnen gehe die ganze Liste durch. Besserer Ansatz: Speicher die Linien in einer speziellen räumlichen Datenstruktur. Bei jedem Neuzeichnen prozessiere eine Fensteranfrage.

8 Demo

9 Vortragsthemen B-Bäume van Emde Boas Trees Splay Trees Randomisierte Suchstrukturen Suffix Trees Binomiale Heaps Fibonacci Heaps Datenstrukturen für disjunkte Mengen Dynamische Datenstrukturen für minimale Spannbäume Highway Hierachies Orthogonale Bereichsanfragen Quadtrees Segment Trees Trapezoidale Karten Binäre Raumpartitionierungen

10 B-Bäume Ihr kennt Datenstrukturen für dynamische Mengen.

11 B-Bäume Ihr kennt Datenstrukturen für dynamische Mengen. (Insert, Delete, Search, Minimum, Maximum, Predecessor, Successor)

12 B-Bäume Ihr kennt Datenstrukturen für dynamische Mengen. (Insert, Delete, Search, Minimum, Maximum, Predecessor, Successor) binäre Suchbäume Worst-Case-Laufzeit aller Operationen: O(h)

13 B-Bäume Ihr kennt Datenstrukturen für dynamische Mengen. (Insert, Delete, Search, Minimum, Maximum, Predecessor, Successor) binäre Suchbäume Worst-Case-Laufzeit aller Operationen: O(h) balancierte binäre Suchbäume (hier: Rot-Schwarz-Baum) Worst-Case-Laufzeit aller Operationen: O(log n)

14 B-Bäume Ihr kennt Datenstrukturen für dynamische Mengen. (Insert, Delete, Search, Minimum, Maximum, Predecessor, Successor) binäre Suchbäume Worst-Case-Laufzeit aller Operationen: O(h) Problem: jeder Knoten enthält nur einen Schlüssel sehr viele Lese- und Schreibzugriffe nötig balancierte binäre Suchbäume (hier: Rot-Schwarz-Baum) Worst-Case-Laufzeit aller Operationen: O(log n)

15 B-Bäume Ihr kennt Datenstrukturen für dynamische Mengen. (Insert, Delete, Search, Minimum, Maximum, Predecessor, Successor) binäre Suchbäume Worst-Case-Laufzeit aller Operationen: O(h) Problem: jeder Knoten enthält nur einen Schlüssel sehr viele Lese- und Schreibzugriffe nötig balancierte binäre Suchbäume (hier: Rot-Schwarz-Baum) Worst-Case-Laufzeit aller Operationen: O(log n) B-Bäume speichern in jedem Knoten mehrere Schlüssel. Auf diese kann in einer Operation zugegriffen werden. Anzahl von Lese- und Schreibzugriffen wird gering gehalten.

16 van Emde Boas Trees Ihr kennt Datenstrukturen für dynamische Mengen. (Insert, Delete, Search, Minimum, Maximum, Predecessor, Successor) binäre Suchbäume Worst-Case-Laufzeit aller Operationen: O(h) balancierte binäre Suchbäume (hier: Rot-Schwarz-Baum) Worst-Case-Laufzeit aller Operationen: O(log n) van Emde Boas Trees: Schlüssel sind Integer mit m Bit. Methoden der dynamischen Menge brauchen O(log m) Zeit.

17 Splay Trees Ihr kennt Datenstrukturen für dynamische Mengen. (Insert, Delete, Search, Minimum, Maximum, Predecessor, Successor) binäre Suchbäume Worst-Case-Laufzeit aller Operationen: O(h) balancierte binäre Suchbäume (hier: Rot-Schwarz-Baum) Worst-Case-Laufzeit aller Operationen: O(log n) Splay Trees: Schlüssel, die häufig gesucht werden, wandern näher zur Wurzel und werden dadurch schneller gefunden.

18 Randomisierte Suchstrukturen Was passiert, wenn man die Elemente einer Menge in zufälliger Reihenfolge in einen binären Baum einfügt?

19 Randomisierte Suchstrukturen Was passiert, wenn man die Elemente einer Menge in zufälliger Reihenfolge in einen binären Baum einfügt? die erwartete Höhe ist O(log n)

20 Randomisierte Suchstrukturen Was passiert, wenn man die Elemente einer Menge in zufälliger Reihenfolge in einen binären Baum einfügt? die erwartete Höhe ist O(log n) Verwendung in Datenstrukturen für dynamische Mengen randomisierte Laufzeitanalyse erforderlich Zufall hilft!

21 Suffix Trees Suche einer Zeichenkette S innerhalb einer zweiten Zeichenkette P. Mit Suffix Trees in O( S ) Zeit möglich.

22 Binomiale Heaps Ihr kennt Heaps eignen sich für Prioritätsschlangen (ExtractMaximum und Insert in O(log n) Zeit; BuildHeap in O(n) Zeit)

23 Binomiale Heaps Ihr kennt Heaps eignen sich für Prioritätsschlangen (ExtractMaximum und Insert in O(log n) Zeit; BuildHeap in O(n) Zeit)

24 Binomiale Heaps Ihr kennt Heaps eignen sich für Prioritätsschlangen (ExtractMaximum und Insert in O(log n) Zeit; BuildHeap in O(n) Zeit)

25 Binomiale Heaps Ihr kennt Heaps eignen sich für Prioritätsschlangen (ExtractMaximum und Insert in O(log n) Zeit; BuildHeap in O(n) Zeit) Zwei binomiale Heaps können in O(log n) Zeit vereinigt werden!

26 Fibonacci Heaps

27 Fibonacci Heaps Der Schlüssel eines Elements bzw. seine Priorität erhöht sich.

28 Fibonacci Heaps Der Schlüssel eines Elements bzw. seine Priorität erhöht sich. Fibonacci Heaps erlauben, den Schlüssel eines Elements in O(1) armortisierter Zeit zu erhöhen/verringern! Wichtigste Anwendung: Dijkstras Algorithmus für das Kürzeste-Wege-Problem

29 Datenstrukturen für disjunkte Mengen Gegeben: n Elemente, die jeweils zu einer von k Mengen gehören Anfrage: Zu welcher Menge gehört ein gegebenes Element? Operation: Vereinige zwei spezifizierte Mengen zu einer Menge

30 Datenstrukturen für disjunkte Mengen Gegeben: n Elemente, die jeweils zu einer von k Mengen gehören Anfrage: Zu welcher Menge gehört ein gegebenes Element? Operation: Vereinige zwei spezifizierte Mengen zu einer Menge passende Datenstruktur gesucht! Anwendung: z.b. Kruskals Alg. für minimale Spannbäume

31 Datenstrukturen für disjunkte Mengen Gegeben: n Elemente, die jeweils zu einer von k Mengen gehören Anfrage: Zu welcher Menge gehört ein gegebenes Element? Operation: Vereinige zwei spezifizierte Mengen zu einer Menge passende Datenstruktur gesucht! Anwendung: z.b. Kruskals Alg. für minimale Spannbäume die Lösung ist einfach! Schwierigkeit steckt in der (amortisierten) Laufzeitanalyse

32 Dynamische Datenstrukturen für minimale Spannbäume Gegeben: Graph mit Kantengewichten

33 Dynamische Datenstrukturen für minimale Spannbäume Gegeben: Graph mit Kantengewichten Gesucht: Minimaler (bzw. leichtester) Spannbaum

34 Dynamische Datenstrukturen für minimale Spannbäume Gegeben: Graph mit Kantengewichten Gesucht: Minimaler (bzw. leichtester) Spannbaum Problem: Aktualisierung des Spannbaums bei Änderung von Gewichten

35 Highway Hierarchies Finde kürzesten Weg von s V nach t V in Graph G = (V, E).

36 Highway Hierarchies Finde kürzesten Weg von s V nach t V in Graph G = (V, E). Algorithmus von Dijkstra löst Problem

37 Highway Hierarchies Finde kürzesten Weg von s V nach t V in Graph G = (V, E). Algorithmus von Dijkstra löst Problem Beschleunigung durch Ausnutzung der Struktur des Graphen: Manche Kanten sind in vielen kürzesten Wegen enthalten.

38 Orthogonale Bereichsanfragen Gegeben: eine große Punktemenge P in R k und ein Suchbereich [x 1 : x 1 ] [x 2 : x 2 ]... [x k : x k ]. Gesucht: die Punkte aus P, die im Suchbereich liegen

39 Orthogonale Bereichsanfragen Gegeben: eine große Punktemenge P in R k und ein Suchbereich [x 1 : x 1 ] [x 2 : x 2 ]... [x k : x k ]. Gesucht: die Punkte aus P, die im Suchbereich liegen x 2 x 2 x 1 x 1

40 Orthogonale Bereichsanfragen Gegeben: eine große Punktemenge P in R k und ein Suchbereich [x 1 : x 1 ] [x 2 : x 2 ]... [x k : x k ]. Gesucht: die Punkte aus P, die im Suchbereich liegen x 2 x 2 x 1 x 1 Ziel: Datenstruktur mit wenig Speicherbedarf mit schneller Beantwortung der Anfrage

41 Orthogonale Bereichsanfragen Gegeben: eine große Punktemenge P in R k und ein Suchbereich [x 1 : x 1 ] [x 2 : x 2 ]... [x k : x k ]. Gesucht: die Punkte aus P, die im Suchbereich liegen x 2 x 2 x 1 x 1 Ziel: Datenstruktur mit wenig Speicherbedarf mit schneller Beantwortung der Anfrage

42 Orthogonale Bereichsanfragen Gegeben: eine große Punktemenge P in R k und ein Suchbereich [x 1 : x 1 ] [x 2 : x 2 ]... [x k : x k ]. Gesucht: die Punkte aus P, die im Suchbereich liegen x 2 x 2 x 1 x 1 Ziel: Datenstruktur mit wenig Speicherbedarf mit schneller Beantwortung der Anfrage Kd-Bäume Bereichsbäume

43 Quadtrees

44 Quadtrees Allrounder unter den räumlichen Datenstrukturen

45 Quadtrees Allrounder unter den räumlichen Datenstrukturen Quadtrees zerlegen die Ebene rekursiv in vier Teile

46 Quadtrees Allrounder unter den räumlichen Datenstrukturen Quadtrees zerlegen die Ebene rekursiv in vier Teile

47 Quadtrees Allrounder unter den räumlichen Datenstrukturen Quadtrees zerlegen die Ebene rekursiv in vier Teile

48 Quadtrees Allrounder unter den räumlichen Datenstrukturen Quadtrees zerlegen die Ebene rekursiv in vier Teile

49 Quadtrees Allrounder unter den räumlichen Datenstrukturen Quadtrees zerlegen die Ebene rekursiv in vier Teile

50 Quadtrees Allrounder unter den räumlichen Datenstrukturen Quadtrees zerlegen die Ebene rekursiv in vier Teile In der Praxis gut für Bereichsanfragen theoretische Ergebnisse schlechter als für Kd-Bäume und Bereichsbäume

51 Quadtrees Allrounder unter den räumlichen Datenstrukturen Quadtrees zerlegen die Ebene rekursiv in vier Teile In der Praxis gut für Bereichsanfragen theoretische Ergebnisse schlechter als für Kd-Bäume und Bereichsbäume Mögliche Verwendung: Dreiecksvermaschung für finite Elemente (z.b. wie verteilen sich Kräfte in einem Werkstück?)

52 Segment Trees

53 Trapezoidale Karten Gegeben: eine Zerlegung der Ebene in Polygone ein Punkt P in der Ebene

54 Trapezoidale Karten Gegeben: eine Zerlegung der Ebene in Polygone ein Punkt P in der Ebene

55 Trapezoidale Karten Gegeben: eine Zerlegung der Ebene in Polygone ein Punkt P in der Ebene in welchem Polygon liegt P?

56 Trapezoidale Karten Gegeben: eine Zerlegung der Ebene in Polygone ein Punkt P in der Ebene in welchem Polygon liegt P? zur einfacheren Lösung werden Polygone in Trapeze zerlegt daraus wird Datenstruktur aufgebaut (randomisiert!)

57 Binäre Raumpartitionierungen Gegeben: eine Menge von Objekten im Raum ein (virtueller) Kamerapunkt Aufgabe: In welcher Reihenfolge sind Objekte nacheinander zu zeichnen, damit Verdeckungen korrekt sind?

58 Binäre Raumpartitionierungen Gegeben: eine Menge von Objekten im Raum ein (virtueller) Kamerapunkt Aufgabe: In welcher Reihenfolge sind Objekte nacheinander zu zeichnen, damit Verdeckungen korrekt sind? Wie werden Zyklen aufgelöst?

59 Binäre Raumpartitionierungen Gegeben: eine Menge von Objekten im Raum ein (virtueller) Kamerapunkt Aufgabe: In welcher Reihenfolge sind Objekte nacheinander zu zeichnen, damit Verdeckungen korrekt sind? Wie werden Zyklen aufgelöst? binäre Raumpartitionierungen bieten effiziente Lösung randomisierte Laufzeitanalyse!

60 Terminplan (bei 9 Themen) Termin: Organisatorisches, Einführung Kurzvorträge: Worum geht es im Thema? Tag der Arbeit frei Vortrag Vortrag Vortrag Vortrag Vortrag Vortrag Vortrag Vortrag Vortrag Vortrag 10

61 Literatur Cormen, Leiserson, Rivest & Stein (2009). Introduction to Algorithms, dritte Auflage, MIT Press. de Berg, Cheong, van Kreveld, Overmars (2008). Computational Geometry: Algorithms and Applications, dritte Auflage, Springer-Verlag.

62 Literatur Cormen, Leiserson, Rivest & Stein (2009). Introduction to Algorithms, dritte Auflage, MIT Press. de Berg, Cheong, van Kreveld, Overmars (2008). Computational Geometry: Algorithms and Applications, dritte Auflage, Springer-Verlag. Motwani & Raghavan (1995). Randomized Algorithms. Cambridge University Press.

Dynamische Mengen. Realisierungen durch Bäume

Dynamische Mengen. Realisierungen durch Bäume Dynamische Mengen Eine dynamische Menge ist eine Datenstruktur, die eine Menge von Objekten verwaltet. Jedes Objekt x trägt einen eindeutigen Schlüssel key[x]. Die Datenstruktur soll mindestens die folgenden

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 10 (3.6.2014) Binäre Suchbäume I Algorithmen und Komplexität Zusätzliche Dictionary Operationen Dictionary: Zusätzliche mögliche Operationen:

Mehr

Was bisher geschah. 1. Zerlegung in monotone Polygone 2. Triangulierung der monotonen Teilpolygone

Was bisher geschah. 1. Zerlegung in monotone Polygone 2. Triangulierung der monotonen Teilpolygone Was bisher geschah Motivation, Beispiele geometrische Objekte im R 2 : Punkt, Gerade, Halbebene, Strecke, Polygon, ebene Zerlegung in Regionen (planare Graphen) maschinelle Repräsentation geometrischer

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen

Mehr

13. Binäre Suchbäume

13. Binäre Suchbäume 1. Binäre Suchbäume Binäre Suchbäume realiesieren Wörterbücher. Sie unterstützen die Operationen 1. Einfügen (Insert) 2. Entfernen (Delete). Suchen (Search) 4. Maximum/Minimum-Suche 5. Vorgänger (Predecessor),

Mehr

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein Proseminar Online Algorithmen, Prof. Dr. Rolf Klein Vortrag von Michael Daumen am 13.12.2000 Thema : Minimum Spanning Tree und 2-Approximation der TSP-Tour Inhalt des Vortrags : 1. genaue Vorstellung des

Mehr

Binäre Suchbäume. Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps

Binäre Suchbäume. Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps Binäre Suchbäume Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps Mengen n Ziel: Aufrechterhalten einer Menge (hier: ganzer Zahlen) unter folgenden Operationen: Mengen n Ziel: Aufrechterhalten einer

Mehr

Programmiertechnik II

Programmiertechnik II Bäume Symboltabellen Suche nach Werten (items), die unter einem Schlüssel (key) gefunden werden können Bankkonten: Schlüssel ist Kontonummer Flugreservierung: Schlüssel ist Flugnummer, Reservierungsnummer,...

Mehr

Grundlagen der Informatik

Grundlagen der Informatik 1 Vorlesung Grundlagen der Informatik Dr. Frank Sausen Skript und Folien: Prof. Dr. Wolfgang Ertel 6. Oktober 2008 Hochschule Ravensburg Weingarten Technik Wirtschaft Sozialwesen c W. Ertel 2 Inhaltsverzeichnis

Mehr

DATENSTRUKTUREN UND ALGORITHMEN

DATENSTRUKTUREN UND ALGORITHMEN DATENSTRUKTUREN UND ALGORITHMEN 2 Ist die Datenstruktur so wichtig??? Wahl der Datenstruktur wichtiger Schritt beim Entwurf und der Implementierung von Algorithmen Dünn besetzte Graphen und Matrizen bilden

Mehr

1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert

1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert Inhalt Einführung 1. Arrays 1. Array unsortiert 2. Array sortiert 3. Heap 2. Listen 1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert 3. Bäume

Mehr

Datenstruktur, die viele Operationen dynamischer Mengen unterstützt

Datenstruktur, die viele Operationen dynamischer Mengen unterstützt Algorithmen und Datenstrukturen 265 10 Binäre Suchbäume Suchbäume Datenstruktur, die viele Operationen dynamischer Mengen unterstützt Kann als Wörterbuch, aber auch zu mehr eingesetzt werden (Prioritätsschlange)

Mehr

Algorithmen und Datenstrukturen Suchbaum

Algorithmen und Datenstrukturen Suchbaum Algorithmen und Datenstrukturen Suchbaum Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Motivation Datenstruktur zur Repräsentation dynamischer Mengen

Mehr

14. Rot-Schwarz-Bäume

14. Rot-Schwarz-Bäume Bislang: Wörterbuchoperationen bei binären Suchbäume effizient durchführbar, falls Höhe des Baums klein. Rot-Schwarz-Bäume spezielle Suchbäume. Rot-Schwarz-Baum mit n Knoten hat Höhe höchstens 2 log(n+1).

Mehr

Abschnitt 18: Effizientes Suchen in Mengen

Abschnitt 18: Effizientes Suchen in Mengen Abschnitt 18: Effizientes Suchen in Mengen 18. Effizientes Suchen in Mengen 18.1 Vollständig ausgeglichene binäre Suchbäume 18.2 AVL-Bäume 18.3 Operationen auf AVL-Bäumen 18.4 Zusammenfassung 18 Effizientes

Mehr

Kap. 4.2: Binäre Suchbäume

Kap. 4.2: Binäre Suchbäume Kap. 4.2: Binäre Suchbäume Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 11. VO DAP2 SS 2009 26. Mai 2009 1 Zusätzliche Lernraumbetreuung Morteza Monemizadeh:

Mehr

Kapitel 9 Suchalgorithmen

Kapitel 9 Suchalgorithmen Kapitel 9 Suchalgorithmen Suchverfahren: Verfahren, das in einem Suchraum nach Mustern oder Objekten mit bestimmten Eigenschaften sucht. Vielfältige Anwendungsbereiche für Suchverfahren: u.a. Suchen in

Mehr

Kapitel : Andere dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete

Kapitel : Andere dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete Kapitel 4.8-4.11: Andere dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.6 AVL-Bäume 4.8 Rot-Schwarz-Bäume Idee: Verwende Farben, um den Baum vertikal zu

Mehr

Algorithmen und Datenstrukturen Balancierte Suchbäume

Algorithmen und Datenstrukturen Balancierte Suchbäume Algorithmen und Datenstrukturen Balancierte Suchbäume Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Überblick Einführung Einfügen und Löschen Einfügen

Mehr

Algorithmische Geometrie 1. Einführung

Algorithmische Geometrie 1. Einführung Algorithmische Geometrie 1. Einführung JProf. Dr. Heike Leitte Computergraphik und Visualisierung Algorithmische Geometrie Veranstaltung: 2 SWS Vorlesung: Mi, 9:15 10:45 1 SWS Übung: Do 14:00 16:00 Übungen:

Mehr

Algorithmen - Eine Einführung

Algorithmen - Eine Einführung Algorithmen - Eine Einführung von Prof. Dr. Thomas H. Cormen Prof. Dr. Charles E. Leiserson Prof. Dr. Ronald Rivest Prof. Dr. Clifford Stein 2., korrigierte Auflage Oldenbourg Verlag München Wien Inhaltsverzeichnis

Mehr

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen 186.172 Algorithmen und Datenstrukturen 1 VL 4.0 Übungsblatt 4 für die Übung

Mehr

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/2, Folie 1 2014 Prof. Steffen Lange - HDa/FbI

Mehr

Der linke Teilbaum von v enthält nur Schlüssel < key(v) und der rechte Teilbaum enthält nur Schlüssel > key(v)

Der linke Teilbaum von v enthält nur Schlüssel < key(v) und der rechte Teilbaum enthält nur Schlüssel > key(v) Ein Baum T mit Knotengraden 2, dessen Knoten Schlüssel aus einer total geordneten Menge speichern, ist ein binärer Suchbaum (BST), wenn für jeden inneren Knoten v von T die Suchbaumeigenschaft gilt: Der

Mehr

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume Effiziente Algorithmen und Datenstrukturen I Kapitel 9: Minimale Spannbäume Christian Scheideler WS 008 19.0.009 Kapitel 9 1 Minimaler Spannbaum Zentrale Frage: Welche Kanten muss ich nehmen, um mit minimalen

Mehr

4 Greedy-Algorithmen (gierige Algorithmen)

4 Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine

Mehr

Algorithmen und Datenstrukturen Kapitel 7 Dynamische Mengen, das Suchproblem &

Algorithmen und Datenstrukturen Kapitel 7 Dynamische Mengen, das Suchproblem & Algorithmen und Datenstrukturen Kapitel 7 Dynamische Mengen, das Suchproblem & Frank Heitmann heitmann@informatik.uni-hamburg.de 25. November 2015 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/122

Mehr

Minimal spannende Bäume

Minimal spannende Bäume http://www.uni-magdeburg.de/harbich/ Minimal spannende Fakultät für Informatik Otto-von-Guericke-Universität 2 Inhalt Definition Wege Untergraphen Kantengewichtete Graphen Minimal spannende Algorithmen

Mehr

Kapitel : Andere dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2013/14. Prof. Dr. Sándor Fekete

Kapitel : Andere dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2013/14. Prof. Dr. Sándor Fekete Kapitel 4.8-4.11: Andere dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2013/14 Prof. Dr. Sándor Fekete 1 4.6 AVL-Bäume 2 4.8 Rot-Schwarz-Bäume Rudolf Bayer Idee: Verwende Farben, um den

Mehr

Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg 19.04.2011

Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg 19.04.2011 Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 19.04.2011 Überlagern von Kartenebenen Beispiel: Gegeben zwei

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Binärbaum Suchbaum Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 356 Datenstruktur Binärbaum Strukturrepräsentation des mathematischen Konzepts Binärbaum

Mehr

Graphalgorithmen 2. Oleksiy Rybakov. 3. Juni Betreuer: Tobias Werth, Daniel Brinkers

Graphalgorithmen 2. Oleksiy Rybakov. 3. Juni Betreuer: Tobias Werth, Daniel Brinkers Graphalgorithmen 2 Oleksiy Rybakov 3. Juni 2015 Betreuer: Tobias Werth, Daniel Brinkers 1 / 40 Inhaltsverzeichnis 1 Minimale Spannbäume und Datenstrukturen 2 Kürzeste Wege 3 Spezielle Graphen 2 / 40 Minimale

Mehr

Amortisierte Laufzeitanalyse

Amortisierte Laufzeitanalyse Paris-Lodron Universität Salzburg 24 Januar, 2014 Inhaltsverzeichnis 1 Einführung Definition Beispiel:Stapeloperationen Beispiel: Binärzähler (1/2) Beispiel: Binärzähler (2/2) 2 Analyse der Stack mittels

Mehr

Datenstrukturen. Mariano Zelke. Sommersemester 2012

Datenstrukturen. Mariano Zelke. Sommersemester 2012 Datenstrukturen Mariano Zelke Sommersemester 2012 Prioritätswarteschlangen Mariano Zelke Datenstrukturen 2/28 Der abstrakte Datentyp Prioritätswarteschlange : Füge Elemente (mit Prioritäten) ein und entferne

Mehr

Quadtrees. Christian Höner zu Siederdissen

Quadtrees. Christian Höner zu Siederdissen Quadtrees Christian Höner zu Siederdissen Quadtrees Zum Verständnis benötigt... Was sind Quadtrees Datenstruktur Wofür Quadtrees Operationen auf dem Baum Vor- und Nachteile (spezialisierte Formen) Zum

Mehr

Algorithmen und Datenstrukturen (AuD) Prof. Dr. Claudia Eckert und Dr. Thomas Stibor

Algorithmen und Datenstrukturen (AuD) Prof. Dr. Claudia Eckert und Dr. Thomas Stibor Algorithmen und Datenstrukturen (AuD) Prof. Dr. Claudia Eckert und Dr. Thomas Stibor Organisatorisches: Vorlesung 4 SWS, Zentralübung 2 SWS: 6 Credit Points Mi 9:45 11:15 Raum 1200 (Vorlesung) Do 8:00

Mehr

Datenstrukturen. Sommersemester Kapitel 1: Motivation / Grundlagen. Steffen Lange

Datenstrukturen. Sommersemester Kapitel 1: Motivation / Grundlagen. Steffen Lange Datenstrukturen Sommersemester 2010 Steffen Lange 1/1, Folie 1 2010 Prof. Steffen Lange - HDa/FbI - Datenstrukturen Organisatorisches Vorlesung wöchentlich; zwei Blöcke Folien im Netz (/* bitte zur Vorlesung

Mehr

Tutorium Algorithmen & Datenstrukturen

Tutorium Algorithmen & Datenstrukturen June 16, 2010 Binärer Baum Binärer Baum enthält keine Knoten (NIL) besteht aus drei disjunkten Knotenmengen: einem Wurzelknoten, einem binären Baum als linken Unterbaum und einem binären Baum als rechten

Mehr

Kapitel 5: Dynamisches Programmieren Gliederung

Kapitel 5: Dynamisches Programmieren Gliederung Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen

Mehr

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.4 Binäre Suche Aufgabenstellung: Rate eine Zahl zwischen 100 und 114! Algorithmus 4.1 INPUT: OUTPUT:

Mehr

Triangulierung von einfachen Polygonen

Triangulierung von einfachen Polygonen Triangulierung von einfachen Polygonen Tobias Kyrion Inhaltsverzeichnis 1.1 Die Problemstellung....................... 1 2.1 Ein naiver Algorithmus...................... 2 3.1 Zerlegung in monotone Teilpolygone..............

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Wintersemester 202/3 24. Vorlesung Amortisierte Analyse Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Hash-Tabellen Frage: Ziel: Problem: Lösung: Wie groß macht man

Mehr

Algorithmen und Datenstrukturen Bereichsbäume

Algorithmen und Datenstrukturen Bereichsbäume Algorithmen und Datenstrukturen Bereichsbäume Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Überblick Einführung k-d Baum BSP Baum R Baum Motivation

Mehr

6. Algorithmen der Computer-Geometrie

6. Algorithmen der Computer-Geometrie 6. Algorithmen der Computer-Geometrie 1. Einführung 2. Schnitt von zwei Strecken 3. Punkt-in-Polygon-Test 4. Schnitt orthogonaler Strecken 5. Punkteinschlussproblem Geo-Informationssysteme 146 6.1 Computer-Geometrie

Mehr

Kap. 4.4: B-Bäume Kap. 4.5: Dictionaries in der Praxis

Kap. 4.4: B-Bäume Kap. 4.5: Dictionaries in der Praxis Kap. 4.4: B-Bäume Kap. 4.5: Dictionaries in der Praxis Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 13./14. VO DAP2 SS 2009 2./4. Juni 2009 1 2. Übungstest

Mehr

Übung Algorithmen I

Übung Algorithmen I Übung Algorithmen I.6.5 Christoph Striecks Christoph.Striecks@kit.edu (Mit Folien von Julian Arz, Timo Bingmann und Sebastian Schlag.) Roadmap Hinweise zur Übungsklausur (Weitere) Traversierungen von Binärbäumen

Mehr

Klausur Algorithmen und Datenstrukturen

Klausur Algorithmen und Datenstrukturen Technische Universität Braunschweig Sommersemester 2013 IBR - Abteilung Algorithmik Prof. Dr. Sándor Fekete Dr. Christiane Schmidt Stephan Friedrichs Klausur Algorithmen und Datenstrukturen 22.08.2013

Mehr

Flüsse, Schnitte, Bipartite Graphen II

Flüsse, Schnitte, Bipartite Graphen II Flüsse, Schnitte, Bipartite Graphen II Jonathan Hacker 06.06.2016 Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 1 / 42 Gliederung Einführung Jonathan Hacker Flüsse, Schnitte, Bipartite

Mehr

Übersicht. Rot-schwarz Bäume. Rot-schwarz Bäume. Beispiel. Eigenschaften. Datenstrukturen & Algorithmen. Rot-schwarz Bäume Eigenschaften Einfügen

Übersicht. Rot-schwarz Bäume. Rot-schwarz Bäume. Beispiel. Eigenschaften. Datenstrukturen & Algorithmen. Rot-schwarz Bäume Eigenschaften Einfügen Datenstrukturen & Algorithmen Übersicht Rot-schwarz Bäume Eigenschaften Einfügen Matthias Zwicker Universität Bern Frühling 2009 2 Rot-schwarz Bäume Binäre Suchbäume sind nur effizient wenn Höhe des Baumes

Mehr

AVL-Bäume Analyse. Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl:

AVL-Bäume Analyse. Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl: AVL-Bäume Analyse (Folie 85, Seite 39 im Skript) Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl: 0 falls n = 0 F n = 1 falls

Mehr

Wie beim letzten Mal - bitte besucht: http://pingo.upb.de/549170 Ihr seid gleich wieder gefragt... Übung Algorithmen I 4.5.16 Lukas Barth lukas.barth@kit.edu (Mit Folien von Julian Arz, Timo Bingmann,

Mehr

Algorithmische Geometrie

Algorithmische Geometrie Algorithmische Geometrie 1-1 Inhaltsverzeichnis 1. Einführung 2. Basiskonzepte 3. Punktsuche 4. Voronoidiagramme und Delaunaytriangulierung 5. Allgemeine Suchstrukturen 1-2 1.1. Was ist? (Computational

Mehr

2. Übungsblatt zu Algorithmen II im WS 2016/2017

2. Übungsblatt zu Algorithmen II im WS 2016/2017 Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter Sanders Dr. Christian Schulz, Dr. Simon Gog Michael Axtmann. Übungsblatt zu Algorithmen II im WS 016/017 Aufgabe

Mehr

Undirected Single-Source Shortest Paths with Positive Integer Weights in Linear Time

Undirected Single-Source Shortest Paths with Positive Integer Weights in Linear Time Universität Konstanz Mathematisch-naturwissenschaftliche Sektion Fachbereich Mathematik und Statistik Wintersemester 2001/02 Mikkel Thorup: Undirected Single-Source Shortest Paths with Positive Integer

Mehr

Klausur Informatik B April Teil I: Informatik 3

Klausur Informatik B April Teil I: Informatik 3 Informatik 3 Seite 1 von 8 Klausur Informatik B April 1998 Teil I: Informatik 3 Informatik 3 Seite 2 von 8 Aufgabe 1: Fragekatalog (gesamt 5 ) Beantworten Sie folgende Fragen kurz in ein oder zwei Sätzen.

Mehr

INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS

INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS Julian Arz, Timo Bingmann, Sebastian Schlag INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS 1 KIT Julian Universität Arz, des Timo LandesBingmann, Baden-Württemberg Sebastian und Schlag nationales

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik Peter Widmayer

Mehr

Algorithmen und Datenstrukturen (AuD) Prof. Dr. Claudia Eckert

Algorithmen und Datenstrukturen (AuD) Prof. Dr. Claudia Eckert Algorithmen und Datenstrukturen (AuD) Prof. Dr. Claudia Eckert Organisatorisches: Vorlesung 4 SWS, Zentralübung 2 SWS: 6 Credit Points Mi 10:30-12:00 Raum 1200 (Vorlesung) Do 8:15-9:45 Raum 1200 (Vorlesung)

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Wintersemester 2013/14 1. Vorlesung Kapitel 1: Sortieren Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Das Problem Eingabe Gegeben: eine Folge A = a 1, a 2,..., a

Mehr

Kapitel 3: Untere Schranken für algorithmische Probleme Gliederung

Kapitel 3: Untere Schranken für algorithmische Probleme Gliederung Gliederung 1. Grundlagen 2. Analyse der Laufzeit von Algorithmen 3. Untere Schranken für algorithmische Probleme 4. Sortier- und Selektionsverfahren 5. Paradigmen des Algorithmenentwurfs 6. Ausgewählte

Mehr

Algorithmen und Datenstrukturen

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 Teilnehmerkreis und Voraussetzungen Studiengänge

Mehr

Definition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V.

Definition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V. Kapitel 4 Graphenalgorithmen 4.1 Definitionen Definition 4.1.1. Der Graph G = (V, E) ist über die beiden Mengen V und E definiert, wobei V die Menge der Knoten und E die Menge der Kanten in dem Graph ist.

Mehr

Was bisher geschah ADT Menge mit Operationen: Suche nach einem Element Einfügen eines Elementes Löschen eines Elementes Realisierung durch

Was bisher geschah ADT Menge mit Operationen: Suche nach einem Element Einfügen eines Elementes Löschen eines Elementes Realisierung durch Was bisher geschah ADT Menge mit Operationen: Suche nach einem Element Einfügen eines Elementes Löschen eines Elementes Realisierung durch verschiedene Datenstrukturen: lineare Datenstrukturen: Array,

Mehr

Aufgabensammlung zur algorithmischen Geometrie

Aufgabensammlung zur algorithmischen Geometrie 1 Aufgabensammlung zur algorithmischen Geometrie 2012WS Andreas Kriegl 1. Konvexe Hülle als Durchschnitt. Zeige, daß der Durchschnitt konvexer Mengen wieder konvex ist und somit die konvexe Hülle einer

Mehr

Algorithmen II Vorlesung am

Algorithmen II Vorlesung am Algorithmen II Vorlesung am 0..0 Minimale Schnitte in Graphen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum

Mehr

Bäume. Text. Prof. Dr. Margarita Esponda SS 2012 O4 O5 O6 O ALP2-Vorlesung, M. Esponda

Bäume. Text. Prof. Dr. Margarita Esponda SS 2012 O4 O5 O6 O ALP2-Vorlesung, M. Esponda Bäume O1 O2 Text O3 O4 O5 O6 O7 Prof. Dr. Margarita Esponda SS 2012 22. ALP2-Vorlesung, M. Esponda Inhalt 1. Einführung 2. Warum Bäume? 3. Listen und Arrays vs. Bäume 4. Einfach verkettete binäre Suchbäume

Mehr

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2013 / 2014 Vorlesung 11, Donnerstag, 16.

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2013 / 2014 Vorlesung 11, Donnerstag, 16. Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2013 / 2014 Vorlesung 11, Donnerstag, 16. Januar 2013 (Balancierte Suchbäume) Junior-Prof. Dr. Olaf Ronneberger

Mehr

Effiziente Algorithmen und Datenstrukturen: Kürzeste Wege

Effiziente Algorithmen und Datenstrukturen: Kürzeste Wege Effiziente Algorithmen und Datenstrukturen: Kürzeste Wege Kürzeste Wege Zentrale Frage: Wie komme ich am schnellsten von A nach B? B A Kürzeste Wege Zentrale Frage: Wie komme ich am schnellsten von A nach

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

- k Maximalwerte aus Menge mit n >> k Elementen (Rangfolgebestimmung von Suchmaschinen!) Die typische Operationen:

- k Maximalwerte aus Menge mit n >> k Elementen (Rangfolgebestimmung von Suchmaschinen!) Die typische Operationen: 6 Partiell geordnete binäre Bäume: Heap (Haufen) Motivation für manchen Anwendungen nur partielle Ordnung der Elemente statt vollständiger nötig, z.b. - Prioritätsschlange: nur das minimale (oder maximale)

Mehr

Graphen: Datenstrukturen und Algorithmen

Graphen: Datenstrukturen und Algorithmen Graphen: Datenstrukturen und Algorithmen Ein Graph G = (V, E) wird durch die Knotenmenge V und die Kantenmenge E repräsentiert. G ist ungerichtet, wenn wir keinen Start- und Zielpunkt der Kanten auszeichnen.

Mehr

Algorithmen und Datenstrukturen. PD Ma&hias Thimm

Algorithmen und Datenstrukturen. PD Ma&hias Thimm Algorithmen und Datenstrukturen PD Ma&hias Thimm Modulnummer, Addressaten und Voraussetzungen Modulnummer: 04IN1014 Adressaten: Bachelor Informa:k, 2. Jahr Bachelor Computervisualis:k, 2. Jahr Bachelor

Mehr

Erinnerung VL

Erinnerung VL Erinnerung VL 30.05.2016 Radix-Sort, Abschluss Sortieren Prioritätslisten: Warteschlange mit Prioritäten deletemin: kleinstes Element rausnehmen insert: Element einfügen Binäre Heaps als Implementierung

Mehr

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Paradigmen im Algorithmenentwurf Problemlösen Problem definieren Algorithmus entwerfen

Mehr

Algorithmik - Kompaktkurs

Algorithmik - Kompaktkurs Algorithmik - Kompaktkurs Sommersemester 2012 Steffen Lange 0/1, Folie 1 2012 Prof. Steffen Lange - HDa/FbI - Algorithmik Organisatorisches Vorlesung Folien im Netz (/* bitte zur Vorlesung mitbringen */)

Mehr

Maximaler Fluß und minimaler Schnitt. Von Sebastian Thurm sebastian.thurm@student.uni-magedburg.de

Maximaler Fluß und minimaler Schnitt. Von Sebastian Thurm sebastian.thurm@student.uni-magedburg.de Maximaler Fluß und minimaler Schnitt Von Sebastian Thurm sebastian.thurm@student.uni-magedburg.de Maximaler Fluß und minimaler Schnitt Wasist das? Maximaler Fluss Minimaler Schnitt Warumtut man das? Logistische

Mehr

Seminarausarbeitung Entwurf und Analyse von Datenstrukturen. Splay Trees. Mirco Lukas und Alexander Werthmann. Datum: 26.06.2013

Seminarausarbeitung Entwurf und Analyse von Datenstrukturen. Splay Trees. Mirco Lukas und Alexander Werthmann. Datum: 26.06.2013 Julius-Maximilians-Universität Würzburg Institut für Informatik Lehrstuhl für Informatik I Effiziente Algorithmen und wissensbasierte Systeme Seminarausarbeitung Entwurf und Analyse von Datenstrukturen

Mehr

Kapitel 9 Suchalgorithmen

Kapitel 9 Suchalgorithmen Kapitel 9 Suchalgorithmen Technische Universität München Suchverfahren: Verfahren, das in einem Suchraum nach Mustern oder Objekten mit bestimmten Eigenschaften sucht. Vielfältige Anwendungsbereiche für

Mehr

Anmerkungen zur Übergangsprüfung

Anmerkungen zur Übergangsprüfung DM11 Slide 1 Anmerkungen zur Übergangsprüfung Aufgabeneingrenzung Aufgaben des folgenden Typs werden wegen ihres Schwierigkeitsgrads oder wegen eines ungeeigneten fachlichen Schwerpunkts in der Übergangsprüfung

Mehr

KD-Bäume. ein Vortrag von Jan Schaefer

KD-Bäume. ein Vortrag von Jan Schaefer ein Vortrag von Jan Schaefer Überblick - Kurzer Rückblick: Quad Trees - KD-Baum bauen - Effizienz des Konstruktionsalgorithmus - Regionen - Bereichssuche - Effizienz des Suchalgorithmus - Anwendungsgebiete

Mehr

Suchen und Sortieren Sortieren. Heaps

Suchen und Sortieren Sortieren. Heaps Suchen und Heaps (Folie 245, Seite 63 im Skript) 3 7 21 10 17 31 49 28 14 35 24 42 38 Definition Ein Heap ist ein Binärbaum, der die Heapeigenschaft hat (Kinder sind größer als der Vater), bis auf die

Mehr

9.4 Binäre Suchbäume. Xiaoyi Jiang Informatik II Datenstrukturen und Algorithmen

9.4 Binäre Suchbäume. Xiaoyi Jiang Informatik II Datenstrukturen und Algorithmen 9.4 Binäre Suchbäume Erweiterung: Einfügen an der Wurzel Standardimplementierung: Der neue Schlüssel wird am Ende des Suchpfades angefügt (natürlich, weil zuerst festgestellt werden muss, ob der Schlüssel

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Dynamische Programmierung Einführung Ablaufkoordination von Montagebändern Längste gemeinsame Teilsequenz Optimale

Mehr

23. November Betweenness Centrality Closeness Centrality. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 108

23. November Betweenness Centrality Closeness Centrality. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 108 23. November 2011 Betweenness Centrality Closeness Centrality H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 108 Betweenness Centrality Grundlegende Idee: Ein Knoten ist wichtig, wenn er auf

Mehr

Bäume, Suchbäume und Hash-Tabellen

Bäume, Suchbäume und Hash-Tabellen Im folgenden Fokus auf Datenstrukturen, welche den assoziativen Zugriff (über einen bestimmten Wert als Suchkriterium) optimieren Bäume: Abbildung bzw. Vorberechnung von Entscheidungen während der Suche

Mehr

12 (2-4)-Bäume Implementierbare Funktionen. (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang

12 (2-4)-Bäume Implementierbare Funktionen. (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang 12 (2-4)-Bäume (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang 2. Die Ordnung (maximale Anzahl der Söhne eines Knotens) ist gleich 4 3. Innere Knoten haben 2 Söhne

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2007 4. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Traversierung Durchlaufen eines Graphen, bei

Mehr

Es sei a 2 und b 2a 1. Definition Ein (a, b)-baum ist ein Baum mit folgenden Eigenschaften:

Es sei a 2 und b 2a 1. Definition Ein (a, b)-baum ist ein Baum mit folgenden Eigenschaften: Binäre Suchbäume (a, b)-bäume (Folie 173, Seite 56 im Skript) Es sei a 2 und b 2a 1. Definition Ein (a, b)-baum ist ein Baum mit folgenden Eigenschaften: 1 Jeder Knoten hat höchstens b Kinder. 2 Jeder

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Fortgeschrittene Netzwerk- und Graph-Algorithmen Fortgeschrittene Netzwerk- und Graph-Algorithmen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester

Mehr

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung Gliederung der Vorlesung. Fallstudie Bipartite Graphen. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen. Minimal spannende Bäume. Kürzeste Pfade. Traveling Salesman Problem. Flüsse in Netzwerken

Mehr

Geometrische Algorithmen

Geometrische Algorithmen Geometrische Algorithmen Bin Hu Algorithmen und Datenstrukturen 2 Arbeitsbereich für Algorithmen und Datenstrukturen Institut für Computergraphik und Algorithmen Technische Universität Wien Einführung

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Lehrstuhl für Informatik I Algorithmen und Datenstrukturen Wintersemester 2013/14 Organisatorisches Vorlesung: Übungsbetreuung: Übungen: Programmiertutorium: Alexander Wolff (E29) Krzysztof Fleszar (E13)

Mehr

Vorlesung 4 BETWEENNESS CENTRALITY

Vorlesung 4 BETWEENNESS CENTRALITY Vorlesung 4 BETWEENNESS CENTRALITY 101 Aufgabe! Szenario: Sie arbeiten bei einem sozialen Online-Netzwerk. Aus der Netzwerk-Struktur Ihrer Benutzer sollen Sie wichtige Eigenschaften extrahieren. [http://www.fahrschule-vatterodt.de/

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 13 (18.6.2014) Binäre Suchbäume IV (Rot Schwarz Bäume) Algorithmen und Komplexität Rot Schwarz Bäume Ziel: Binäre Suchbäume, welche immer

Mehr

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J Greedy-Strategie Definition Paradigma Greedy Der Greedy-Ansatz verwendet die Strategie 1 Top-down Auswahl: Bestimme in jedem Schritt eine lokal optimale Lösung, so dass man eine global optimale Lösung

Mehr

KONSTRUKTION VON ROT-SCHWARZ-BÄUMEN

KONSTRUKTION VON ROT-SCHWARZ-BÄUMEN KONSTRUKTION VON ROT-SCHWARZ-BÄUMEN RALF HINZE Institut für Informatik III Universität Bonn Email: ralf@informatik.uni-bonn.de Homepage: http://www.informatik.uni-bonn.de/~ralf Februar, 2001 Binäre Suchbäume

Mehr

Programmierung und Modellierung

Programmierung und Modellierung Programmierung und Modellierung Terme, Suchbäume und Pattern Matching Martin Wirsing in Zusammenarbeit mit Moritz Hammer SS 2009 2 Inhalt Kap. 7 Benutzerdefinierte Datentypen 7. Binärer Suchbaum 8. Anwendung:

Mehr

Datenstrukturen & Algorithmen Lösungen zu Blatt 6 FS 14

Datenstrukturen & Algorithmen Lösungen zu Blatt 6 FS 14 Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik 2. April

Mehr

Uberblick 1. Kurzeste Wege 2. Sichtbarkeitsgraphen 3. Berechnung des Sichtbarkeitsgraphen 4. Kurzeste Wege fur polygonale Roboter 1

Uberblick 1. Kurzeste Wege 2. Sichtbarkeitsgraphen 3. Berechnung des Sichtbarkeitsgraphen 4. Kurzeste Wege fur polygonale Roboter 1 Vorlesung Geometrische Algorithmen Sichtbarkeitsgraphen und kurzeste Wege Sven Schuierer Uberblick 1. Kurzeste Wege 2. Sichtbarkeitsgraphen 3. Berechnung des Sichtbarkeitsgraphen 4. Kurzeste Wege fur polygonale

Mehr

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 11 Prof. Dr. Helmut Seidl, S. Pott,

Mehr