Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK
|
|
- Imke Graf
- vor 5 Jahren
- Abrufe
Transkript
1 Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg
2 Überlagern von Kartenebenen Beispiel: Gegeben zwei verschiedene Kartenebenen, bestimme deren Schnitt. + = Flächennutzung Niederschlag Kombination beider Themen
3 Überlagern von Kartenebenen Beispiel: Gegeben zwei verschiedene Kartenebenen, bestimme deren Schnitt. + = Regionen sind Polygone Polygone sind Streckenmengen berechne alle Streckenschnittpunkte berechne induzierte Regionen Flächennutzung Niederschlag Kombination beider Themen
4 Problemstellung Geg: Ges: Menge S = {s 1,..., s n } von Strecken in der Ebene alle Schnittpunkte von zwei oder mehr Strecken für jeden Schnittpunkt die beteiligten Strecken
5 Problemstellung Geg: Ges: Def: Menge S = {s 1,..., s n } von Strecken in der Ebene alle Schnittpunkte von zwei oder mehr Strecken für jeden Schnittpunkt die beteiligten Strecken Strecken sind abgeschlossene Mengen
6 Problemstellung Geg: Ges: Def: Menge S = {s 1,..., s n } von Strecken in der Ebene alle Schnittpunkte von zwei oder mehr Strecken für jeden Schnittpunkt die beteiligten Strecken Strecken sind abgeschlossene Mengen Diskussion: Wie kann man das Problem naiv lösen? Ist das evtl. schon optimal? Sehen Sie Verbesserungsansätze?
7 Das Sweep-Line Verfahren: Beispiel
8 Das Sweep-Line Verfahren: Beispiel Events
9 Das Sweep-Line Verfahren: Beispiel
10 Das Sweep-Line Verfahren: Beispiel sweep line
11 Das Sweep-Line Verfahren: Beispiel
12 Das Sweep-Line Verfahren: Beispiel
13 Das Sweep-Line Verfahren: Beispiel
14 Das Sweep-Line Verfahren: Beispiel
15 Das Sweep-Line Verfahren: Beispiel
16 Das Sweep-Line Verfahren: Beispiel
17 Das Sweep-Line Verfahren: Beispiel
18 Das Sweep-Line Verfahren: Beispiel
19 Das Sweep-Line Verfahren: Beispiel
20 Das Sweep-Line Verfahren: Beispiel
21 Das Sweep-Line Verfahren: Beispiel
22 Das Sweep-Line Verfahren: Beispiel
23 Das Sweep-Line Verfahren: Beispiel
24 Das Sweep-Line Verfahren: Beispiel
25 Das Sweep-Line Verfahren: Beispiel
26 Das Sweep-Line Verfahren: Beispiel
27 Das Sweep-Line Verfahren: Beispiel
28 Das Sweep-Line Verfahren: Beispiel
29 Datenstrukturen 1.) Event Queue Q definiere p q def. y p > y q (y p = y q x p < x q ) l p q
30 Datenstrukturen 1.) Event Queue Q definiere p q def. y p > y q (y p = y q x p < x q ) l speichere Events sortiert nach in balanciertem binärem Suchbaum AVL-Baum, Rot-Schwarz-Baum,... p q
31 Datenstrukturen 1.) Event Queue Q definiere p q def. y p > y q (y p = y q x p < x q ) l speichere Events sortiert nach in balanciertem binärem Suchbaum AVL-Baum, Rot-Schwarz-Baum,... Operationen insert, delete und nextevent in O(log Q ) Zeit p q
32 Datenstrukturen 1.) Event Queue Q definiere p q def. y p > y q (y p = y q x p < x q ) l speichere Events sortiert nach in balanciertem binärem Suchbaum AVL-Baum, Rot-Schwarz-Baum,... Operationen insert, delete und nextevent in O(log Q ) Zeit p q 2.) Sweep-Line Status T l speichere von l geschnittene Strecken geordnet von links nach rechts
33 Datenstrukturen 1.) Event Queue Q definiere p q def. y p > y q (y p = y q x p < x q ) l speichere Events sortiert nach in balanciertem binärem Suchbaum AVL-Baum, Rot-Schwarz-Baum,... Operationen insert, delete und nextevent in O(log Q ) Zeit p q 2.) Sweep-Line Status T l speichere von l geschnittene Strecken geordnet von links nach rechts benötigte Operationen insert, delete, findneighbor
34 Datenstrukturen 1.) Event Queue Q definiere p q def. y p > y q (y p = y q x p < x q ) l speichere Events sortiert nach in balanciertem binärem Suchbaum AVL-Baum, Rot-Schwarz-Baum,... Operationen insert, delete und nextevent in O(log Q ) Zeit p q 2.) Sweep-Line Status T l speichere von l geschnittene Strecken geordnet von links nach rechts benötigte Operationen insert, delete, findneighbor ebenfalls balancierter binärer Suchbaum mit Strecken in den Blättern!
35 Algorithmus FindIntersections(S) Input: Menge S von Strecken Output: Menge aller Schnittpunkte mit zugeh. Strecken Q ; T foreach s S do Q.insert(upperEndPoint(s)) Q.insert(lowerEndPoint(s)) while Q do p Q.nextEvent() Q.deleteEvent(p) handleevent(p)
36 Algorithmus FindIntersections(S) Input: Menge S von Strecken Output: Menge aller Schnittpunkte mit zugeh. Strecken Q ; T foreach s S do Q.insert(upperEndPoint(s)) Q.insert(lowerEndPoint(s)) while Q do p Q.nextEvent() Q.deleteEvent(p) handleevent(p) Was passiert mit Duplikaten?
37 Algorithmus FindIntersections(S) Input: Menge S von Strecken Output: Menge aller Schnittpunkte mit zugeh. Strecken Q ; T foreach s S do Q.insert(upperEndPoint(s)) Q.insert(lowerEndPoint(s)) Was passiert mit Duplikaten? while Q do p Q.nextEvent() Q.deleteEvent(p) handleevent(p) Hier versteckt sich der Kern des Algorithmus!
38 Algorithmus handleevent(p) U(p) Strecken mit p oberer Endpunkt L(p) Strecken mit p unterer Endpunkt C(p) Strecken mit p innerer Punkt if U(p) L(p) C(p) 2 then gebe p und U(p) L(p) C(p) aus entferne L(p) C(p) aus T füge U(p) C(p) in T ein if U(p) C(p) = then //s l und s r Nachbarn von p in T Q prüfe s l und s r auf Schnitt unterhalb p else //s und s linkeste und rechteste Strecke in U(p) C(p) Q prüfe s l und s auf Schnitt unterhalb p Q prüfe s r und s auf Schnitt unterhalb p
39 Algorithmus handleevent(p) U(p) Strecken mit p oberer Endpunkt L(p) Strecken mit p unterer Endpunkt C(p) Strecken mit p innerer Punkt if U(p) L(p) C(p) 2 then gebe p und U(p) L(p) C(p) aus mit p in Q gespeichert entferne L(p) C(p) aus T füge U(p) C(p) in T ein if U(p) C(p) = then //s l und s r Nachbarn von p in T Q prüfe s l und s r auf Schnitt unterhalb p else //s und s linkeste und rechteste Strecke in U(p) C(p) Q prüfe s l und s auf Schnitt unterhalb p Q prüfe s r und s auf Schnitt unterhalb p
40 Algorithmus handleevent(p) U(p) Strecken mit p oberer Endpunkt L(p) Strecken mit p unterer Endpunkt C(p) Strecken mit p innerer Punkt if U(p) L(p) C(p) 2 then gebe p und U(p) L(p) C(p) aus mit p in Q gespeichert Nachbarn in T entferne L(p) C(p) aus T füge U(p) C(p) in T ein if U(p) C(p) = then //s l und s r Nachbarn von p in T Q prüfe s l und s r auf Schnitt unterhalb p else //s und s linkeste und rechteste Strecke in U(p) C(p) Q prüfe s l und s auf Schnitt unterhalb p Q prüfe s r und s auf Schnitt unterhalb p
41 Algorithmus handleevent(p) U(p) Strecken mit p oberer Endpunkt L(p) Strecken mit p unterer Endpunkt C(p) Strecken mit p innerer Punkt if U(p) L(p) C(p) 2 then gebe p und U(p) L(p) C(p) aus entferne L(p) C(p) aus T füge U(p) C(p) in T ein if U(p) C(p) = then mit p in Q gespeichert Nachbarn in T Entfernen und Einfügen dreht C(p) um //s l und s r Nachbarn von p in T Q prüfe s l und s r auf Schnitt unterhalb p else //s und s linkeste und rechteste Strecke in U(p) C(p) Q prüfe s l und s auf Schnitt unterhalb p Q prüfe s r und s auf Schnitt unterhalb p
42 Was passiert genau? S s 6 s 4 s 5 s 1 p s 3 T s 1 s 5 s 3 s 6 s 4 s 3 s 7 s 7 s 6 s 5 s 4 s 1 s 2
43 Was passiert genau? S s 6 s 4 s 5 s 1 p s 3 T s 1 s 5 s 3 s 6 s 4 s 3 s 7 s 7 s 6 s 5 s 4 s 1 s 2 U(p) = {s 2 } L(p) = C(p) =
44 Was passiert genau? S s 6 s 4 s 5 s 1 p s 3 T s 1 s 5 s 3 s 6 s 4 s 3 s 7 s 7 s 6 s 5 s 4 s 1 s 2 U(p) = {s 2 } L(p) = C(p) =
45 Was passiert genau? S s 6 s 4 s 5 s 1 p s 3 T s 1 s 5 s 3 s 6 s 4 s 3 s 7 s 7 s 6 s 5 s 4 s 1 s 2 U(p) = {s 2 } L(p) = {s 4, s 5 } C(p) = {s 1, s 3 }
46 Was passiert genau? S s 6 s 4 s 5 s 1 p s 3 T s 1 s 5 s 3 s 6 s 4 s 3 s 7 s 7 s 6 s 5 s 4 s 1 s 2 U(p) = {s 2 } L(p) = {s 4, s 5 } C(p) = {s 1, s 3 } Gib (p, {s 1, s 2, s 3, s 4, s 5 }) aus
47 Was passiert genau? S s 6 s 4 s 5 s 1 p s 3 T s 1 s 5 s 3 s 6 s 4 s 3 s 7 s 7 s 6 s 5 s 4 s 1 s 2 s 2 U(p) = {s 2 } L(p) = {s 4, s 5 } C(p) = {s 1, s 3 } s 6 s 6 s 3 s 3 s 2 s 1 s 1 s 7 Lösche L(p) C(p); füge U(p) C(p) ein
48 Was passiert genau? S s 6 s 4 s 5 s 1 p p s 3 T s 1 s 5 s 3 s 6 s 4 s 3 s 7 s 7 s 6 s 5 s 4 s 1 s 2 s 2 U(p) = {s 2 } L(p) = {s 4, s 5 } C(p) = {s 1, s 3 } Füge Event p = s 1 s 7 in Q ein s 6 s l s 3 s 6 s 3 s 2 s 1 s 1 s 7 s s s r
49 Korrektheit Lemma 1: Algorithmus FindIntersections findet alle Schnittpunkte und die beteiligten Strecken.
50 Korrektheit Lemma 1: Algorithmus FindIntersections findet alle Schnittpunkte und die beteiligten Strecken. Beweis: Induktion über die Reihenfolge der Events. Sei p ein Schnittpunkt und alle Schnittpunkte q p seien bereits korrekt berechnet. Fall 1: p ist Streckenendpunkt p wurde am Anfang in Q eingefügt U(p) an p gespeichert L(p) und C(p) in T vorhanden
51 Korrektheit Lemma 1: Algorithmus FindIntersections findet alle Schnittpunkte und die beteiligten Strecken. Beweis: Induktion über die Reihenfolge der Events. Sei p ein Schnittpunkt und alle Schnittpunkte q p seien bereits korrekt berechnet. Fall 1: p ist Streckenendpunkt p wurde am Anfang in Q eingefügt U(p) an p gespeichert L(p) und C(p) in T vorhanden Fall 2: p ist kein Streckenendpunkt Überlegen Sie warum p in Q sein muss!
52 Laufzeitanalyse FindIntersections(S) Input: Menge S von Strecken Output: Menge aller Schnittpunkte mit zugeh. Strecken Q ; T foreach s S do Q.insert(upperEndPoint(s)) Q.insert(lowerEndPoint(s)) while Q do p Q.nextEvent() Q.deleteEvent(p) handleevent(p)
53 Laufzeitanalyse FindIntersections(S) Input: Menge S von Strecken Output: Menge aller Schnittpunkte mit zugeh. Strecken Q ; T O(1) foreach s S do Q.insert(upperEndPoint(s)) Q.insert(lowerEndPoint(s)) while Q do p Q.nextEvent() Q.deleteEvent(p) handleevent(p)
54 Laufzeitanalyse FindIntersections(S) Input: Menge S von Strecken Output: Menge aller Schnittpunkte mit zugeh. Strecken Q ; T O(1) foreach s S do Q.insert(upperEndPoint(s)) O(n log n) Q.insert(lowerEndPoint(s)) while Q do p Q.nextEvent() Q.deleteEvent(p) handleevent(p)
55 Laufzeitanalyse FindIntersections(S) Input: Menge S von Strecken Output: Menge aller Schnittpunkte mit zugeh. Strecken Q ; T O(1) foreach s S do Q.insert(upperEndPoint(s)) O(n log n) Q.insert(lowerEndPoint(s)) while Q do p Q.nextEvent() Q.deleteEvent(p) handleevent(p) O(log Q )
56 Laufzeitanalyse FindIntersections(S) Input: Menge S von Strecken Output: Menge aller Schnittpunkte mit zugeh. Strecken Q ; T O(1) foreach s S do Q.insert(upperEndPoint(s)) O(n log n) Q.insert(lowerEndPoint(s)) while Q do p Q.nextEvent() Q.deleteEvent(p) handleevent(p) O(log Q )?
57 Laufzeitanalyse handleevent(p) U(p) Strecken mit p oberer Endpunkt L(p) Strecken mit p unterer Endpunkt C(p) Strecken mit p innerer Punkt if U(p) L(p) C(p) 2 then gebe p und U(p) L(p) C(p) aus entferne L(p) C(p) aus T füge U(p) C(p) in T ein if U(p) C(p) = then //s l und s r Nachbarn von p in T Q prüfe s l und s r auf Schnitt unterhalb p else //s und s linkeste und rechteste Strecke in U(p) C(p) Q prüfe s l und s auf Schnitt unterhalb p Q prüfe s r und s auf Schnitt unterhalb p Lemma 2:Algorithmus FindIntersections hat eine Laufzeit von O(n log n + I log n), wobei I die Anzahl der Schnittpunkte ist.
58 Zusammenfassung Satz 1: Sei S eine Menge von n Strecken in der Ebene. Dann können alle Schnittpunkte in S zusammen mit den beteiligten Strecken in O((n + I) log n) Zeit und O(?) Platz ausgegeben werden.
59 Zusammenfassung Satz 1: Sei S eine Menge von n Strecken in der Ebene. Dann können alle Schnittpunkte in S zusammen mit den beteiligten Strecken in O((n + I) log n) Zeit und O(?) Platz ausgegeben werden. Beweis: Korrektheit Laufzeit Speicherplatz
60 Zusammenfassung Satz 1: Sei S eine Menge von n Strecken in der Ebene. Dann können alle Schnittpunkte in S zusammen mit den beteiligten Strecken in O((n + I) log n) Zeit und O(?) Platz ausgegeben werden. Beweis: Korrektheit Laufzeit Speicherplatz Überlegen Sie wie viel Platz die Datenstrukturen benötigen!
61 Zusammenfassung Satz 1: Sei S eine Menge von n Strecken in der Ebene. Dann können alle Schnittpunkte in S zusammen mit den beteiligten Strecken in O((n + I) log n) Zeit und O(n) Platz ausgegeben werden. Beweis: Korrektheit Laufzeit Speicherplatz Überlegen Sie wie viel Platz die Datenstrukturen benötigen! T maximal n Elemente Q maximal O(n + I) Elemente Reduktion von Q auf O(n) Platz: s. Übung
62 Diskussion Ist der Sweep-Line Algorithmus immer besser als der naive?
63 Diskussion Ist der Sweep-Line Algorithmus immer besser als der naive? Nein, denn falls I Ω(n 2 ) hat der Algorithmus eine Laufzeit von O(n 2 log n).
64 Diskussion Ist der Sweep-Line Algorithmus immer besser als der naive? Nein, denn falls I Ω(n 2 ) hat der Algorithmus eine Laufzeit von O(n 2 log n). Geht es noch besser?
65 Diskussion Ist der Sweep-Line Algorithmus immer besser als der naive? Nein, denn falls I Ω(n 2 ) hat der Algorithmus eine Laufzeit von O(n 2 log n). Geht es noch besser? Ja, in Θ(n log n + I) Zeit und Θ(n) Platz [Balaban, 1995].
66 Diskussion Ist der Sweep-Line Algorithmus immer besser als der naive? Nein, denn falls I Ω(n 2 ) hat der Algorithmus eine Laufzeit von O(n 2 log n). Geht es noch besser? Ja, in Θ(n log n + I) Zeit und Θ(n) Platz [Balaban, 1995]. Wie löst man damit das Kartenüberlagerungs-Problem?
67 Diskussion Ist der Sweep-Line Algorithmus immer besser als der naive? Nein, denn falls I Ω(n 2 ) hat der Algorithmus eine Laufzeit von O(n 2 log n). Geht es noch besser? Ja, in Θ(n log n + I) Zeit und Θ(n) Platz [Balaban, 1995]. Wie löst man damit das Kartenüberlagerungs-Problem? Unter Verwendung einer geeigneten Datenstruktur (doppelt-verkettete Kantenliste) für planare Graphen lässt sich in ebenfalls O((n + I) log n) Zeit die überlagerte Unterteilung der Karte berechnen. (Details s. Kap. 2.3 im Buch)
68 Datenstruktur für Landkarten (politische) Landkarte entspricht Unterteilung der Ebene in Polygone
69 Datenstruktur für Landkarten (politische) Landkarte entspricht Unterteilung der Ebene in Polygone Unterteilung entspricht Einbettung eines planaren Graphen mit Knoten Kanten Facetten
70 Datenstruktur für Landkarten (politische) Landkarte entspricht Unterteilung der Ebene in Polygone Unterteilung entspricht Einbettung eines planaren Graphen mit Knoten Kanten Facetten
71 Datenstruktur für Landkarten (politische) Landkarte entspricht Unterteilung der Ebene in Polygone Unterteilung entspricht Einbettung eines planaren Graphen mit Knoten Kanten Facetten Welche Operationen sollte eine Datenstruktur für Unterteilungen der Ebene unterstützen?
72 Datenstruktur für Landkarten (politische) Landkarte entspricht Unterteilung der Ebene in Polygone Unterteilung entspricht Einbettung eines planaren Graphen mit Knoten Kanten Facetten Welche Operationen sollte eine Datenstruktur für Unterteilungen der Ebene unterstützen? Kanten einer Facette ablaufen via Kante von Facette zu Facette wechseln Nachbarknoten in zyklischer Reihenfolge besuchen
73 Doppelt verkettete Kantenliste (DCEL) Zutaten: Knoten Kanten Facetten
74 Doppelt verkettete Kantenliste (DCEL) Zutaten: Knoten twin(e) e Kanten = zwei Halbkanten next(e) prev(e) face(e) Facetten Knoten origin(e) Gegenkante twin(e) Vorgänger prev(e) & Nachfolger next(e) inzidente Facette face(e)
75 Doppelt verkettete Kantenliste (DCEL) Zutaten: Knoten twin(e) e Kanten = zwei Halbkanten next(e) prev(e) face(e) Facetten Was ist mit destination(e)? Knoten origin(e) Gegenkante twin(e) Vorgänger prev(e) & Nachfolger next(e) inzidente Facette face(e)
76 Doppelt verkettete Kantenliste (DCEL) Zutaten: Knoten Koordinaten (x(v), y(v)) (erste) ausgehende Kante edge(v) twin(e) e Kanten = zwei Halbkanten next(e) prev(e) face(e) Facetten Knoten origin(e) Gegenkante twin(e) Vorgänger prev(e) & Nachfolger next(e) inzidente Facette face(e)
77 Doppelt verkettete Kantenliste (DCEL) Zutaten: Knoten Koordinaten (x(v), y(v)) (erste) ausgehende Kante edge(v) twin(e) e Kanten = zwei Halbkanten next(e) prev(e) face(e) Knoten origin(e) Gegenkante twin(e) Vorgänger prev(e) & Nachfolger next(e) inzidente Facette face(e) Facetten Randkante edge(f)
78 Doppelt verkettete Kantenliste (DCEL) Zutaten: Knoten Koordinaten (x(v), y(v)) (erste) ausgehende Kante edge(v) twin(e) e Kanten = zwei Halbkanten next(e) prev(e) face(e) Knoten origin(e) Gegenkante twin(e) Vorgänger prev(e) & Nachfolger next(e) inzidente Facette face(e) Facetten Randkante edge(f) Problem dabei?
79 Doppelt verkettete Kantenliste (DCEL) Zutaten: Knoten Koordinaten (x(v), y(v)) (erste) ausgehende Kante edge(v) twin(e) e Kanten = zwei Halbkanten next(e) prev(e) face(e) Knoten origin(e) Gegenkante twin(e) Vorgänger prev(e) & Nachfolger next(e) inzidente Facette face(e) Facetten Randkante edge(f) outer(f) Kantenliste inner(f) für evtl. Löcher
80 Aufgaben Welche Gleichheiten stimmen immer? 1. twin(twin(e)) = e 2. next(prev(e)) = e 3. twin(prev(twin(e))) = next(e) 4. face(e) = face(next(e))
81 Aufgaben Welche Gleichheiten stimmen immer? 1. twin(twin(e)) = e 2. next(prev(e)) = e 3. twin(prev(twin(e))) = next(e) 4. face(e) = face(next(e)) Geben Sie einen Algorithmus an zum 1. Aufzählen aller Nachbarknoten eines Knotens v. 2. Aufzählen aller Nachbarfacetten einer Facette f. 3. Aufzählen aller Facetten mit Knoten auf der äußeren Umrandung.
82 Ankündigung Nächste Woche Dienstag (1. Mai) keine Vorlesung. Nächste Vorlesung Donnerstag 3. Mai um 9:45 Uhr in SR131.
Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK
Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 24.04.2011 Überlagern von Kartenebenen Beispiel: Gegeben zwei verschiedene Kartenebenen,
MehrVorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK
Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 22.04.2014 Überlagern von Kartenebenen Beispiel: Gegeben zwei verschiedene Kartenebenen,
MehrVorlesung 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
MehrLineare Programmierung
Übung Algorithmische Geometrie Lineare Programmierung LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Benjamin Niedermann 14.05.2014 Übersicht Übungsblatt 4 Lineares
MehrVoronoi-Diagramme. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK
Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 29.05.2011 Das Postamt-Problem b(p, q) = {x R 2 : xp = xq } p q h(p, q) h(q, p) = {x :
MehrVoronoi-Diagramme INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie
Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 03.06.2014 1 Das Postamt-Problem b(p, q) = {x 2 R 2 : xp = xq } p q h(p, q) h(q, p) = {x
MehrAlgorithmische Geometrie: Schnittpunkte von Strecken
Algorithmische Geometrie: Schnittpunkte von Strecken Nico Düvelmeyer WS 2009/2010, 3.11.2009 3 Phasen im Algorithmenentwurf 1. Konzentration auf das Hauptproblem 2. Verallgemeinerung auf entartete Eingaben
MehrLiniensegmentschnitt. Doppelt verkettete Kantenliste. Überlagerung von 2 ebenen Graphen. Boolsche Operatoren für einfache Polygone (LEDA)
Liniensegmentschnitt Motivation, Überlagerung von Karten, Problemformulierung Ein einfaches Problem und dessen Lösung mit Hilfe des Sweep-Line Prinzips Output-sensitiver Liniensegmentschnittalgorithmus
Mehr2.7.1 Inside-Test Konvexe Hülle Nachbarschaften Schnittprobleme
2.7 Geometrische Algorithmen 2.7.1 Inside-Test 2.7.2 Konvexe Hülle 2.7.3 Nachbarschaften 2.7.4 Schnittprobleme 1 2.7 Geometrische Algorithmen 2.7.1 Inside-Test 2.7.2 Konvexe Hülle 2.7.3 Nachbarschaften
MehrPolygontriangulierung
Übung Algorithmische Geometrie Polygontriangulierung LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Andreas Gemsa 05.05.2011 Ablauf Besprechung ÜB3 Korrektheitsbeweis
MehrAlgorithmische Geometrie 3. Schnitte von Liniensegmenten
Algorithmische Geometrie 3. Schnitte von Liniensegmenten JProf. Dr. Heike Leitte Computergraphik und Visualisierung Inhaltsverzeichnis 1. Einführung 2. Konvexe Hülle 3. Schnitte von Liniensegmenten 4.
Mehr2.2. Schnitte von Liniensegmenten
Wir wenden uns nun dem Problem (2) aus 1 zu. F15 Aus zwei Mengen S1, S2 von Liniensegmenten möchten wir alle Schnittpunkte der Segmente aus S1 mit denen aus S2 ermitteln. Wir legen fest, dass sich zwei
MehrPolygontriangulierung
Vorlesung Algorithmische Geometrie Polygone triangulieren LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 26.04.2011 Das Kunstgalerie-Problem
MehrAlgorithmische Geometrie Übung am
Algorithmische Geometrie Übung am 16.04.2014 INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmische nationales Forschungszentrum
MehrPunktlokalisierung. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie
Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 24.05.2011 Motivation Gegeben eine Position p = (p x, p y )
MehrKlausur. 18. Juli 2008, 10:15-12:15 Uhr. Name:... Matrikelnummer:... Anzahl beschriebener Blätter (ohne Aufgabenblatt):... D(p) : Y = p x X + p y
GRUNDZÜGE DER ALGORITHMISCHEN GEOMETRIE Klausur 18. Juli 2008, 10:15-12:15 Uhr Name:................................... Matrikelnummer:................................... Anzahl beschriebener Blätter (ohne
MehrPunktlokalisierung. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK
Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 22.05.2012 Nachtrag: Dynamische Bereichsabfragen Letzte Woche: kd-trees und Range-Trees
MehrBereichsabfragen II. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK
Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 20.05.2014 Objekttypen in Bereichsabfragen y0 y0 y x x0 Bisher betrachteter Fall Eingabe:
MehrGeradenarrangements und Dualität von Punkten und Geraden
Vorlesung Algorithmische Geometrie von Punkten und Geraden INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 17.06.2014 1 Dualitätsabbildung Bisher haben wir Dualität für planare
MehrGeradenarrangements und Dualität von Punkten und Geraden
Vorlesung Algorithmische Geometrie von Punkten und Geraden INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 12.06.2012 Dualitätsabbildung Bisher haben wir Dualität für planare
MehrGeradenarrangements und Dualität von Punkten und Geraden
Vorlesung Algorithmische Geometrie von Punkten und Geraden INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 12.06.2012 Dualitätsabbildung Bisher haben wir Dualität für planare
MehrVorlesung Algorithmische Geometrie Konvexe Hülle in R 3
Vorlesung Algorithmische Geometrie Konvexe Hülle in R 3 INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 15.07.2014 1 Wdh: Konvexe Hülle in R 2 (VL1) Def: Eine Menge S R 2
MehrBereichsabfragen II. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie
Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 17.07.2012 Objekttypen in Bereichsabfragen y0 y0 y x x0 Bisher
MehrBereichsabfragen II. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie
Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 17.07.2012 Objekttypen in Bereichsabfragen y0 y x x0 Bisher
MehrÜbungsblatt 7 - Voronoi Diagramme
Karlsruher Institut für Technologie Algorithmische Geometrie Fakultät für Informatik Sommersemester 2012 ITI Wagner Martin Nöllenburg/Andreas Gemsa Übungsblatt 7 - Voronoi Diagramme 1 Voronoi-Zellen Sei
MehrVoronoi-Diagramme und Delaunay-Triangulierungen
Vorlesung Algorithmische Geometrie Voronoi-Diagramme & Delaunay-Triangulierungen LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 07.06.2011 Erinnerung:
MehrAlgorithmen II Vorlesung am
Algorithmen II Vorlesung am 03.12.2013 Algorithmische Geometrie: Schnitte von Strecken Sweep-Line INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg
MehrProportional Symbol Maps
Vorlesung Algorithmische Kartografie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Benjamin Niedermann Martin Nöllenburg 25.06.2015 1 Statistische Visualisierung
MehrEinführung & Konvexe Hülle
Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 12.04.2011 AlgoGeom-Team Dozent Martin Nöllenburg noellenburg@kit.edu
MehrQuadtrees und Meshing
Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 19.06.2012 Motivation: Meshing von Platinenlayouts Zur Simulation der Hitzeentwicklung
MehrSichtbarkeitsgraph. Andreas Gemsa Übung Algorithmische Geometrie
Übung Algorithmische Geometrie Sichtbarkeitsgraph LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Andreas Gemsa 19.07.2012 Ablauf Nachtrag Sichtbarkeitsgraph WSPD
MehrAlgorithmen und Datenstrukturen
Universität Innsbruck Institut für Informatik Zweite Prüfung 16. Oktober 2008 Algorithmen und Datenstrukturen Name: Matrikelnr: Die Prüfung besteht aus 8 Aufgaben. Die verfügbaren Punkte für jede Aufgabe
MehrQuadtrees und Meshing
Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 19.06.2012 Motivation: Meshing von Platinenlayouts Zur Simulation der Hitzeentwicklung
MehrSichtbarkeitsgraphen. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie
Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 12.07.2011 Bewegungslanung für Roboter Ideen?? Problem: Gegeben
MehrPolygontriangulierung
Vorlesung Algorithmische Geometrie Polygone triangulieren INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 03.05.2012 Das Kunstgalerie-Problem Aufgabe: Installiere ein Kamerasystem
MehrEinführung & Konvexe Hülle
Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 17.04.2012 AlgoGeom-Team Dozent Martin Nöllenburg noellenburg@kit.edu
MehrQuadtrees und Meshing
Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 21.06.2011 Motivation: Meshing von Platinenlayouts Zur Simulation
MehrQuadtrees und Meshing
Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 24.06.2014 Motivation: Meshing von Platinenlayouts Zur Simulation der Hitzeentwicklung
MehrAnwendungen der WSPD & Sichtbarkeitsgraphen
Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 08.07.2014 1 Wdh.: Well-Separated Pair Decomposition Def.: Ein Paar disjunkter Punktmengen
MehrPolygontriangulierung
Übung Algorithmische Geometrie Polygontriangulierung LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Benjamin Niedermann 07.05.204 Ablauf Vergabe der Projekte Übungsblatt
MehrWas 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
MehrEinführung & Konvexe Hülle
Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 17.04.2012 AlgoGeom-Team Dozent Martin Nöllenburg noellenburg@kit.edu
MehrVoronoi Diagrams. Christian Wellenbrock. December 1, 2009
December 1, 2009 Das Voronoi Diagramm Problemstellung Gegeben: Menge der Zentren P = {p 1,..., p n } R 2 Das Voronoi Diagramm Problemstellung Gegeben: Menge der Zentren P = {p 1,..., p n } R 2 Gesucht:
MehrHallo Welt für Fortgeschrittene
Hallo Welt für Fortgeschrittene Geometrie II Benjamin Zenke Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Inhalt Closest Pair Divide & Conquer Bereichssuche Gitterverfahren k-d-tree Sweep-Line-Algorithmen
MehrGeometrische Algorithmen Segmentschnitt
Folie 1 von 36 Geometrische Algorithmen Segmentschnitt Folie 2 von 36 Segmentschnitt Übersicht Zwei Segmente Lage zweier Segmente Prüfung auf Schnittfreiheit Formeln zum Geradenschnitt Feststellen des
MehrGeometrische Algorithmen Segmentschnitt
Folie 1 von 36 Geometrische Algorithmen Segmentschnitt Folie 2 von 36 Segmentschnitt Übersicht Zwei Segmente! Lage zweier Segmente! Prüfung auf Schnittfreiheit! Formeln zum Geradenschnitt! Feststellen
MehrAnwendungen der WSPD & Sichtbarkeitsgraphen
Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 10.07.2012 Wdh.: Well-Separated Pair Decomposition Def.: Ein Paar disjunkter Punktmengen
MehrAlgorithmische Geometrie, SoSe 2005 Skriptmitschrift vom 29. April 2005
Algorithmische Geometrie, SoSe 2005 Skriptmitschrift vom 29. April 2005 Antonia Wittmers Igor Savchenko Konvexe Hüllen Inkrementeller Algorithmus für die konvexe Hülle Dabei heißt inkrementeller Algorithmus,
MehrVorlesung Algorithmische Geometrie Konvexe Hülle im R 3
Vorlesung Algorithmische Geometrie Konvexe Hülle im R 3 LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Andreas Gemsa 26.06.2012 Prüfung! Termine: 20. Juli 27.
MehrAlgorithmische Geometrie: Voronoi Diagramme (Teil 2)
Algorithmische Geometrie: Voronoi Diagramme (Teil 2) Nico Düvelmeyer WS 2009/2010, 12.1.2010 Überblick 1 Definition und grundlegende Eigenschaften (Wied.) 2 Bestimmung des Voronoi Diagramms Gleitebenenverfahren
MehrEffizienter Planaritätstest Vorlesung am
Effizienter Planaritätstest Vorlesung am 23.04.2014 INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER Satz Gegebenen einen Graphen G = (V, E) mit n Kanten und m Knoten, kann in O(n + m) Zeit
MehrEinführung & Konvexe Hülle
Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 14.04.2014 AlgoGeom-Team Dozent Martin Nöllenburg noellenburg@kit.edu Raum 319 Sprechzeiten:
MehrInformatik II, SS 2016
Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 11 (1.6.2016) Binäre Suchbäume III Algorithmen und Komplexität Tiefe eines binären Suchbaums Worst-Case Laufzeit der Operationen in binären
MehrAlgorithmen II Vorlesung am
Algorithmen II Vorlesung am 07..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
MehrEinführung & Konvexe Hülle
Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 14.04.2014 AlgoGeom-Team Dozent Martin Nöllenburg noellenburg@kit.edu Raum 319 Sprechzeiten:
MehrPunkt-in-Polygon-Suche Übersicht
Folie 1 von 43 Punkt-in-Polygon-Suche Übersicht! Praxisbeispiel/Problemstellung! Zählen von Schnittpunkten " Schnitt einer Halbgerade mit der Masche " Aufwandsbetrachtung! Streifenkarte " Vorgehen und
MehrGeometrische Algorithmen Segmentschnitt. Lernmodul 7: Geo-Algorithmen und -Datenstrukturen - Segmentschnitt
Folie 1 von 37 Geometrische Algorithmen Segmentschnitt Folie 2 von 37 Segmentschnitt Übersicht Zwei Segmente Lage zweier Segmente Prüfung auf Schnittfreiheit Formeln zum Geradenschnitt Feststellen des
MehrBereichsabfragen. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie
Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 17.05.2011 Geometrie in Datenbanken In einer Personaldatenbank
MehrAlgorithmen und Datenstrukturen. Bäume. M. Herpers, Y. Jung, P. Klingebiel
Algorithmen und Datenstrukturen Bäume M. Herpers, Y. Jung, P. Klingebiel 1 Lernziele Baumstrukturen und Ihre Verwendung kennen Grundbegriffe zu Bäumen anwenden können Baumstruktur in C anlegen können Suchbäume
Mehr18. Natürliche Suchbäume
Wörterbuchimplementationen 1. Natürliche Suchbäume [Ottman/Widmayer, Kap..1, Cormen et al, Kap. 12.1-12.] Hashing: Implementierung von Wörterbüchern mit erwartet sehr schnellen Zugriffszeiten. Nachteile
MehrAlgorithmen und Datenstrukturen
1 Algorithmen und Datenstrukturen Wintersemester 2016/17 13. Vorlesung Binäre Suchbäume Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Dynamische Menge verwaltet Elemente einer sich ändernden Menge
MehrUberblick 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
Mehr9. Natürliche Suchbäume
Bäume Bäume sind. Natürliche Suchbäume [Ottman/Widmayer, Kap..1, Cormen et al, Kap. 12.1-12.] Verallgemeinerte Listen: Knoten können mehrere Nachfolger haben Spezielle Graphen: Graphen bestehen aus Knoten
MehrAlgorithmen 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
MehrVisualisierung von Graphen
1 Visualisierung von Graphen Teile-und-Herrsche-Algorithmen: Bäume und serienparallele Graphen 3. Vorlesung Sommersemester 2013 (basierend auf Folien von Martin Nöllenburg und Robert Görke, KIT) 2 Ankündigung
MehrKlausur Algorithmen und Datenstrukturen SS August Arbeitszeit 90 min
TU Ilmenau, Fakultät für Informatik und Automatisierung FG Komplexitätstheorie und Effiziente Algorithmen Univ.-Prof. Dr. M. Dietzfelbinger, Dipl.-Ing. C. Mattern Klausur Algorithmen und Datenstrukturen
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Kürzeste Wege Maike Buchin 4. und 6.7.2017 Einführung Motivation: Bestimmung von kürzesten Wegen ist in vielen Anwendungen, z.b. Routenplanung, ein wichtiges Problem. Allgemeine
MehrAlgorithmen und Datenstrukturen Kapitel 7 Dynamische Mengen, das Suchproblem &
Grundlagen 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
MehrGeometrische Algorithmen Punkt-in-Polygon-Suche. Lernmodul 7: Geo-Algorithmen und -Datenstrukturen - Punkt-in-Polygon-Suche
Folie 1 von 51 Geometrische Algorithmen Punkt-in-Polygon-Suche Folie 2 von 51 Punkt-in-Polygon-Suche Übersicht Praxisbeispiel/Problemstellung Zählen von Schnittpunkten Schnitt einer Halbgerade mit der
Mehr3. Übungsblatt zu Algorithmen I im SoSe 2017
Karlsruher Institut für Technologie Prof. Dr. Jörn Müller-Quade Institut für Theoretische Informatik Björn Kaidel, Sebastian Schlag, Sascha Witt 3. Übungsblatt zu Algorithmen I im SoSe 2017 http://crypto.iti.kit.edu/index.php?id=799
MehrInformatik 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
MehrKapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2017/18. Pro f. Dr. Sán do r Fe k e te
Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2017/18 Pro f. Dr. Sán do r Fe k e te 1 4.1 Grundoperationen Aufgabenstellung: 3 4.1 Grundoperationen Aufgabenstellung: Verwalten
MehrKapitel 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:
MehrAlgorithmen I - Tutorium 28 Nr. 3
Algorithmen I - Tutorium 28 Nr. 3 18.05.2016: Spaß mit Listen, Arrays und amortisierter Analyse Marc Leinweber marc.leinweber@student.kit.edu INSTITUT FÜR THEORETISCHE INFORMATIK (ITI), PROF. DR. JÖRN
MehrMaximale s t-flüsse in Planaren Graphen
Maximale s t-flüsse in Planaren Graphen Vorlesung Algorithmen für planare Graphen 6. Juni 2017 Guido Brückner INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg
MehrDatenstrukturen Teil 2. Bäume. Definition. Definition. Definition. Bäume sind verallgemeinerte Listen. Sie sind weiter spezielle Graphen
Bäume sind verallgemeinerte Listen Datenstrukturen Teil 2 Bäume Jeder Knoten kann mehrere Nachfolger haben Sie sind weiter spezielle Graphen Graphen bestehen aus Knoten und Kanten Kanten können gerichtet
MehrDualität + Quad-trees
Übung Algorithmische Geometrie Dualität + Quad-trees LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Andreas Gemsa 30.06.2011 Übersicht Übungsblatt 10 - Dualität
MehrSchematisierung von Karten
Vorlesung Algorithmische Kartografie Schematisierung von (Straßen-)Karten LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 30.04.2013 Schematische
MehrKap. 4.7 Skiplisten. 14./15. VO DAP2 SS /16. Juni 2009
Kap. 4.7 Skiplisten Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 14./15. VO DAP2 SS 2008 9./16. Juni 2009 1 2. Übungstest Termin: Di 16. Juni 2009 im AudiMax,
Mehr13. 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),
MehrLernmodul 7 Algorithmus von Dijkstra
Folie 1 von 30 Lernmodul 7 Algorithmus von Dijkstra Quelle: http://www.map24.de Folie 2 von 30 Algorithmus von Dijkstra Übersicht Kürzester Weg von A nach B in einem Graphen Problemstellung: Suche einer
MehrChristian Rieck, Arne Schmidt
Institute of Operating Systems and Computer Networks Algorithms Group Algorithmen und Datenstrukturen Wintersemester 207/208 Übung#5, 2.2.207 Christian Rieck, Arne Schmidt Bäume Satz Jeder gerichtete Baum
MehrAlgorithmen und Datenstrukturen 2. Stefan Florian Palkovits, BSc Juni 2016
Algorithmen und Datenstrukturen 2 Übung 1 Stefan Florian Palkovits, BSc 0926364 e0926364@student.tuwien.ac.at 12. Juni 2016 Aufgabe 1: Es existiert eine Reduktion von Problem A auf Problem B in O(n 3 +
Mehr1. 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/3, Folie 1 2010 Prof. Steffen Lange - HDa/FbI
MehrKonvexe Hülle im R 3 + WSPD
Übung Algorithmische Geometrie Konvexe Hülle im R 3 + WSPD LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Andreas Gemsa 12.07.2012 Ablauf Konvexe Hülle im R 3
MehrVorlesung Informatik 2 Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (18 Bäume: Grundlagen und natürliche Suchbäume) Prof. Dr. Susanne Albers Bäume (1) Bäume sind verallgemeinerte Listen (jedes Knoten-Element kann mehr
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen B4. Priority Queues und Heaps Marcel Lüthi and Gabriele Röger Universität Basel 28. März 2018 Einführung Kollektion von Elementen Grundlegende Operationen sind Einfügen
Mehrelementare Datenstrukturen
elementare Datenstrukturen Wie die Daten das Laufen lernten Andreas Ferber af@myipv6.de elementare Datenstrukturen p./40 KISS elementare Datenstrukturen p./40 KISS (Keep It Simple, Stupid) Immer die einfachste
MehrAlgorithmische Techniken für Geometrische Probleme
Algorithmische Techniken für Geometrische Probleme Berthold Vöcking 14. Juni 2007 Inhaltsverzeichnis 1 Die Sweepline-Technik 2 1.1 Schnitte orthogonaler Liniensegmente............... 2 1.2 Schnitte beliebiger
MehrDatenstrukturen und Algorithmen D-INFK. Musterlösung 1
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
MehrQuad-trees. Benjamin Niedermann Übung Algorithmische Geometrie
Übung Algorithmische Geometrie Quad-trees LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Benjamin Niedermann 02.07.2014 Übersicht Übungsblatt 11 - Quadtrees Motivation:
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 7 (21.5.2014) Binäre Suche, Hashtabellen I Algorithmen und Komplexität Abstrakte Datentypen : Dictionary Dictionary: (auch: Maps, assoziative
MehrAnwendungsbeispiel MinHeap
Anwendungsbeispiel MinHeap Uns seien n ganze Zahlen gegeben und wir möchten darin die k größten Zahlen bestimmen; zudem gelten, dass n deutlich größer als k ist Wir können das Problem mit Laufzeit in O(n
MehrAlgorithmische Geometrie: Arrangements und
Algorithmische Geometrie: Arrangements und Dualität Nico Düvelmeyer WS 2009/2010, 19.1.2010 Überblick 1 Strahlenverfolgung und Diskrepanz 2 Dualität Dualitäts-Abbildung Transformation des Problems zur
MehrVorlesung Geometrische Algorithmen Generierung von Nicht-uniformen Netzen Sven Schuierer
Vorlesung Geometrische Algorithmen Generierung von Nicht-uniformen Netzen Sven Schuierer Uberblick 1. Anwendung 2. Anforderungen an Netze 3. Quadrantenbaume Quadrantenbaume fur Punktemengen Bestimmung
Mehr