Punktlokalisierung. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie
|
|
- Karola Brahms
- vor 5 Jahren
- Abrufe
Transkript
1 Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg
2 Motivation Gegeben eine Position p = (p x, p y ) in einer Landkarte, bestimme in welchem Land p liegt.
3 Motivation Gegeben eine Position p = (p x, p y ) in einer Landkarte, bestimme in welchem Land p liegt.
4 Motivation Gegeben eine Position p = (p x, p y ) in einer Landkarte, bestimme in welchem Land p liegt. Genauer: Finde eine Datenstruktur, die solche Lokalisierungsanfragen effizient beantworten kann.
5 Motivation Gegeben eine Position p = (p x, p y ) in einer Landkarte, bestimme in welchem Land p liegt. Genauer: Finde eine Datenstruktur, die solche Lokalisierungsanfragen effizient beantworten kann. Dabei ist die Landkarte eine Unterteilung der Ebene in disjunkte Polygone.
6 Problemstellung
7 Problemstellung Ziel: Geg. eine Unterteilung S der Ebene mit n Strecken, erstelle Datenstruktur für schnelle.
8 Problemstellung Ziel: Geg. eine Unterteilung S der Ebene mit n Strecken, erstelle Datenstruktur für schnelle.
9 Problemstellung Ziel: Geg. eine Unterteilung S der Ebene mit n Strecken, erstelle Datenstruktur für schnelle.
10 Problemstellung Ziel: Geg. eine Unterteilung S der Ebene mit n Strecken, erstelle Datenstruktur für schnelle.
11 Problemstellung Ziel: Geg. eine Unterteilung S der Ebene mit n Strecken, erstelle Datenstruktur für schnelle.
12 Problemstellung Ziel: Geg. eine Unterteilung S der Ebene mit n Strecken, erstelle Datenstruktur für schnelle. 2 Min. nachdenken!
13 Problemstellung Ziel: Lösung: Geg. eine Unterteilung S der Ebene mit n Strecken, erstelle Datenstruktur für schnelle. Zerteile S an Punkten in vertikale Streifen.
14 Problemstellung Ziel: Lösung: Geg. eine Unterteilung S der Ebene mit n Strecken, erstelle Datenstruktur für schnelle. Zerteile S an Punkten in vertikale Streifen.
15 Problemstellung Ziel: Lösung: Geg. eine Unterteilung S der Ebene mit n Strecken, erstelle Datenstruktur für schnelle. Zerteile S an Punkten in vertikale Streifen. Anfrage:
16 Problemstellung Ziel: Lösung: Geg. eine Unterteilung S der Ebene mit n Strecken, erstelle Datenstruktur für schnelle. Zerteile S an Punkten in vertikale Streifen. Anfrage: finde richtigen Streifen
17 Problemstellung Ziel: Lösung: Geg. eine Unterteilung S der Ebene mit n Strecken, erstelle Datenstruktur für schnelle. Zerteile S an Punkten in vertikale Streifen. Anfrage: finde richtigen Streifen
18 Problemstellung Ziel: Lösung: Geg. eine Unterteilung S der Ebene mit n Strecken, erstelle Datenstruktur für schnelle. Zerteile S an Punkten in vertikale Streifen. Anfrage: finde richtigen Streifen durchsuche diesen Streifen
19 Problemstellung Ziel: Lösung: Geg. eine Unterteilung S der Ebene mit n Strecken, erstelle Datenstruktur für schnelle. Zerteile S an Punkten in vertikale Streifen. Anfrage: finde richtigen Streifen durchsuche diesen Streifen
20 Problemstellung Ziel: Lösung: Geg. eine Unterteilung S der Ebene mit n Strecken, erstelle Datenstruktur für schnelle. Zerteile S an Punkten in vertikale Streifen. Anfrage: finde richtigen Streifen durchsuche diesen Streifen } 2 binäre Suchen
21 Problemstellung Ziel: Lösung: Geg. eine Unterteilung S der Ebene mit n Strecken, erstelle Datenstruktur für schnelle. Zerteile S an Punkten in vertikale Streifen. } Anfrage: finde richtigen Streifen durchsuche diesen Streifen O(log n) Zeit 2 binäre Suchen
22 Problemstellung Ziel: Lösung: Geg. eine Unterteilung S der Ebene mit n Strecken, erstelle Datenstruktur für schnelle. Zerteile S an Punkten in vertikale Streifen. } Anfrage: finde richtigen Streifen durchsuche diesen Streifen O(log n) Zeit 2 binäre Suchen Aber:
23 Problemstellung Ziel: Lösung: Geg. eine Unterteilung S der Ebene mit n Strecken, erstelle Datenstruktur für schnelle. Zerteile S an Punkten in vertikale Streifen. } Anfrage: finde richtigen Streifen durchsuche diesen Streifen O(log n) Zeit 2 binäre Suchen Aber: Platz?
24 Problemstellung Ziel: Lösung: Geg. eine Unterteilung S der Ebene mit n Strecken, erstelle Datenstruktur für schnelle. Zerteile S an Punkten in vertikale Streifen. } Anfrage: finde richtigen Streifen durchsuche diesen Streifen O(log n) Zeit 2 binäre Suchen Aber: Platz? Θ(n 2 )
25 Problemstellung Ziel: Lösung: Geg. eine Unterteilung S der Ebene mit n Strecken, erstelle Datenstruktur für schnelle. Zerteile S an Punkten in vertikale Streifen. } Anfrage: finde richtigen Streifen durchsuche diesen Streifen O(log n) Zeit 2 binäre Suchen Aber: Platz? Θ(n 2 ) Frage: Bsp. für untere Schranke?
26 Verringern der Komplexität Beob.: Die Streifenzerlegung ist eine Verfeinerung S von S in (evtl. degenerierte) Trapeze.
27 Verringern der Komplexität Beob.: Die Streifenzerlegung ist eine Verfeinerung S von S in (evtl. degenerierte) Trapeze. Ziel: Finde geeignete Verfeinerung von S mit geringerer Komplexität!
28 Verringern der Komplexität Beob.: Ziel: Die Streifenzerlegung ist eine Verfeinerung S von S in (evtl. degenerierte) Trapeze. Finde geeignete Verfeinerung von S mit geringerer Komplexität! Lösung: Trapezzerlegung T (S)
29 Verringern der Komplexität Beob.: Ziel: Die Streifenzerlegung ist eine Verfeinerung S von S in (evtl. degenerierte) Trapeze. Finde geeignete Verfeinerung von S mit geringerer Komplexität! Lösung: Trapezzerlegung T (S)
30 Verringern der Komplexität Beob.: Ziel: Die Streifenzerlegung ist eine Verfeinerung S von S in (evtl. degenerierte) Trapeze. Finde geeignete Verfeinerung von S mit geringerer Komplexität! Lösung: Trapezzerlegung T (S) R
31 Verringern der Komplexität Beob.: Ziel: Die Streifenzerlegung ist eine Verfeinerung S von S in (evtl. degenerierte) Trapeze. Finde geeignete Verfeinerung von S mit geringerer Komplexität! Lösung: Trapezzerlegung T (S) Kante von jedem Endpunkt vertikal nach oben und unten bis zum Nachbarsegment R
32 Verringern der Komplexität Beob.: Ziel: Die Streifenzerlegung ist eine Verfeinerung S von S in (evtl. degenerierte) Trapeze. Finde geeignete Verfeinerung von S mit geringerer Komplexität! Lösung: Trapezzerlegung T (S) Kante von jedem Endpunkt vertikal nach oben und unten bis zum Nachbarsegment R
33 Verringern der Komplexität Beob.: Ziel: Die Streifenzerlegung ist eine Verfeinerung S von S in (evtl. degenerierte) Trapeze. Finde geeignete Verfeinerung von S mit geringerer Komplexität! Lösung: Trapezzerlegung T (S) Kante von jedem Endpunkt vertikal nach oben und unten bis zum Nachbarsegment R
34 Verringern der Komplexität Beob.: Ziel: Die Streifenzerlegung ist eine Verfeinerung S von S in (evtl. degenerierte) Trapeze. Finde geeignete Verfeinerung von S mit geringerer Komplexität! Lösung: Trapezzerlegung T (S) Kante von jedem Endpunkt vertikal nach oben und unten bis zum Nachbarsegment R
35 Verringern der Komplexität Beob.: Ziel: Die Streifenzerlegung ist eine Verfeinerung S von S in (evtl. degenerierte) Trapeze. Finde geeignete Verfeinerung von S mit geringerer Komplexität! Lösung: Trapezzerlegung T (S) Kante von jedem Endpunkt vertikal nach oben und unten bis zum Nachbarsegment R
36 Verringern der Komplexität Beob.: Ziel: Die Streifenzerlegung ist eine Verfeinerung S von S in (evtl. degenerierte) Trapeze. Finde geeignete Verfeinerung von S mit geringerer Komplexität! Lösung: Trapezzerlegung T (S) Kante von jedem Endpunkt vertikal nach oben und unten bis zum Nachbarsegment R
37 Verringern der Komplexität Beob.: Ziel: Die Streifenzerlegung ist eine Verfeinerung S von S in (evtl. degenerierte) Trapeze. Finde geeignete Verfeinerung von S mit geringerer Komplexität! Lösung: Trapezzerlegung T (S) R
38 Verringern der Komplexität Beob.: Ziel: Die Streifenzerlegung ist eine Verfeinerung S von S in (evtl. degenerierte) Trapeze. Finde geeignete Verfeinerung von S mit geringerer Komplexität! Lösung: Trapezzerlegung T (S) Vergleich mit Streifenzerlegung R
39 Verringern der Komplexität Beob.: Ziel: Die Streifenzerlegung ist eine Verfeinerung S von S in (evtl. degenerierte) Trapeze. Finde geeignete Verfeinerung von S mit geringerer Komplexität! Lösung: Trapezzerlegung T (S) Annahme: S ist in allgemeiner Lage, d.h. keine zwei Knoten haben gleiche x-koordinaten. R
40 Notation Definition: Eine Seite einer Facette von T (S) ist eine maximal lange Teilstrecke der Facettengrenze.
41 Notation Definition: Eine Seite einer Facette von T (S) ist eine maximal lange Teilstrecke der Facettengrenze.
42 Notation Definition: Eine Seite einer Facette von T (S) ist eine maximal lange Teilstrecke der Facettengrenze.
43 Notation Definition: Eine Seite einer Facette von T (S) ist eine maximal lange Teilstrecke der Facettengrenze.
44 Notation Definition: Eine Seite einer Facette von T (S) ist eine maximal lange Teilstrecke der Facettengrenze. Beob.: S in allg. Lage jede Facette von T (S) hat:
45 Notation Definition: Eine Seite einer Facette von T (S) ist eine maximal lange Teilstrecke der Facettengrenze. Beob.: S in allg. Lage jede Facette von T (S) hat: ein oder zwei vertikale Seiten
46 Notation Definition: Eine Seite einer Facette von T (S) ist eine maximal lange Teilstrecke der Facettengrenze. top( ) Beob.: bot( ) S in allg. Lage jede Facette von T (S) hat: ein oder zwei vertikale Seiten zwei nicht-vertikale Seiten
47 Notation Definition: Eine Seite einer Facette von T (S) ist eine maximal lange Teilstrecke der Facettengrenze. top( ) Beob.: bot( ) S in allg. Lage jede Facette von T (S) hat: ein oder zwei vertikale Seiten zwei nicht-vertikale Seiten Linke Seite:
48 Notation Definition: Eine Seite einer Facette von T (S) ist eine maximal lange Teilstrecke der Facettengrenze. top( ) Beob.: bot( ) S in allg. Lage jede Facette von T (S) hat: ein oder zwei vertikale Seiten zwei nicht-vertikale Seiten Linke Seite:
49 Notation Definition: Eine Seite einer Facette von T (S) ist eine maximal lange Teilstrecke der Facettengrenze. top( ) Beob.: bot( ) S in allg. Lage jede Facette von T (S) hat: ein oder zwei vertikale Seiten zwei nicht-vertikale Seiten Linke Seite:
50 Notation Definition: Eine Seite einer Facette von T (S) ist eine maximal lange Teilstrecke der Facettengrenze. top( ) Beob.: bot( ) S in allg. Lage jede Facette von T (S) hat: ein oder zwei vertikale Seiten zwei nicht-vertikale Seiten Linke Seite:
51 Notation Definition: Eine Seite einer Facette von T (S) ist eine maximal lange Teilstrecke der Facettengrenze. top( ) Beob.: bot( ) S in allg. Lage jede Facette von T (S) hat: ein oder zwei vertikale Seiten zwei nicht-vertikale Seiten Linke Seite: R
52 Notation Definition: Eine Seite einer Facette von T (S) ist eine maximal lange Teilstrecke der Facettengrenze. top( ) Beob.: bot( ) S in allg. Lage jede Facette von T (S) hat: ein oder zwei vertikale Seiten zwei nicht-vertikale Seiten Linke Seite: leftp( ) R
53 Notation Definition: Eine Seite einer Facette von T (S) ist eine maximal lange Teilstrecke der Facettengrenze. top( ) Beob.: bot( ) S in allg. Lage jede Facette von T (S) hat: ein oder zwei vertikale Seiten zwei nicht-vertikale Seiten Linke Seite: leftp( ) analog: rightp( ) R
54 Komplexität der Trapezzerlegung Beob.: Ein Trapez wird eindeutig durch bot( ), top( ), leftp( ) und rightp( ) definiert. top( ) leftp( ) bot( ) rightp( )
55 Komplexität der Trapezzerlegung Beob.: Ein Trapez wird eindeutig durch bot( ), top( ), leftp( ) und rightp( ) definiert. top( ) leftp( ) bot( ) rightp( )
56 Komplexität der Trapezzerlegung Beob.: Ein Trapez wird eindeutig durch bot( ), top( ), leftp( ) und rightp( ) definiert. top( ) leftp( ) bot( ) rightp( ) Lemma: Die Trapezzerlegung T (S) einer Menge S von n Strecken in allgemeiner Lage enthält höchstens 6n + 4 Knoten und höchstens 3n + 1 Trapeze.
57 Komplexität der Trapezzerlegung Beob.: Ein Trapez wird eindeutig durch bot( ), top( ), leftp( ) und rightp( ) definiert. top( ) leftp( ) bot( ) rightp( ) Lemma: Die Trapezzerlegung T (S) einer Menge S von n Strecken in allgemeiner Lage enthält höchstens 6n + 4 Knoten und höchstens 3n + 1 Trapeze.
58 Suchstruktur Ziel: Berechne die Trapezzerlegung T (S) und gleichzeitig eine Datenstruktur D(S) zur Lokalisierung in T (S). p 1 B s 1 q 1 A D E p 2 s 2 C F T (S) A G q 2 D(S) ist ein DAG mit: B C p 1 D(S) q 1 s 1 p 2 q 2 s 2 E s 2 D F p x-knoten für Punkt p testet auf links/rechts von p s y-knoten für Strecke s testet auf oberhalb/unterhalb von s G Blattknoten für Trapez
59 Inkrementeller Algorithmus Trapezzerlegung(S) Input: Menge S = {s 1,..., s n } von kreuzungsfreien Strecken Output: Trapezzerlegung T (S) und Suchstruktur D(S) Initialisiere T und D für R = BBox(S) S RandomPermutation(S) for i 1 to n do H { T s i } T T \ H T T neue durch s i erzeugte Trapeze D ersetze Blätter für H durch Blätter für neue Trapeze return (T, D)
60 Inkrementeller Algorithmus Trapezzerlegung(S) Input: Menge S = {s 1,..., s n } von kreuzungsfreien Strecken Output: Trapezzerlegung T (S) und Suchstruktur D(S) Initialisiere T und D für R = BBox(S) S RandomPermutation(S) for i 1 to n do H { T s i } T T \ H T T neue durch s i erzeugte Trapeze D ersetze Blätter für H durch Blätter für neue Trapeze return (T, D) Problem: Größe von D und Anfragezeit sind abhängig von Einfügereihenfolge
61 Inkrementeller Algorithmus Trapezzerlegung(S) Input: Menge S = {s 1,..., s n } von kreuzungsfreien Strecken Output: Trapezzerlegung T (S) und Suchstruktur D(S) Initialisiere T und D für R = BBox(S) S RandomPermutation(S) for i 1 to n do H { T s i } T T \ H T T neue durch s i erzeugte Trapeze D ersetze Blätter für H durch Blätter für neue Trapeze return (T, D) Problem: Größe von D und Anfragezeit sind abhängig von Einfügereihenfolge Lösung: Randomisierung!
62 Randomisierter Inkrementeller Algorithmus Invariante: T ist Trapezzerlegung für S i = {s 1,..., s i } und D passende Suchstruktur
63 Randomisierter Inkrementeller Algorithmus Invariante: T ist Trapezzerlegung für S i = {s 1,..., s i } und D passende Suchstruktur Initialisierung: T = T ( ) = R und D = (R, )
64 Randomisierter Inkrementeller Algorithmus Invariante: T ist Trapezzerlegung für S i = {s 1,..., s i } und D passende Suchstruktur Initialisierung: T = T ( ) = R und D = (R, ) Schritt 1: H { T s i }
65 Randomisierter Inkrementeller Algorithmus Invariante: T ist Trapezzerlegung für S i = {s 1,..., s i } und D passende Suchstruktur Initialisierung: T = T ( ) = R und D = (R, ) Schritt 1: H { T s i }
66 Randomisierter Inkrementeller Algorithmus Invariante: T ist Trapezzerlegung für S i = {s 1,..., s i } und D passende Suchstruktur Initialisierung: T = T ( ) = R und D = (R, ) Schritt 1: H { T s i }
67 Randomisierter Inkrementeller Algorithmus Invariante: T ist Trapezzerlegung für S i = {s 1,..., s i } und D passende Suchstruktur Initialisierung: T = T ( ) = R und D = (R, ) Schritt 1: H { T s i } Aufgabe: Wie findet man die Trapezmenge H von links nach rechts?
68 Randomisierter Inkrementeller Algorithmus Invariante: T ist Trapezzerlegung für S i = {s 1,..., s i } und D passende Suchstruktur Initialisierung: T = T ( ) = R und D = (R, ) Schritt 1: H { T s i } Aufgabe: Wie findet man die Trapezmenge H von links nach rechts? 0 FindeTrapez(p i, D); j 0 while rechter Endpunkt q i rechts von rightp( j ) do if rightp( j ) über s i then j+1 unterer rechter Nachbar von j else j+1 oberer rechter Nachbar von j j j + 1 return 0,..., j
69 Update von T (S) und D(S) Schritt 2: Aktualisiere T und D Fall 1: s i 0 p i s i q i B 0 A C D T (S i 1 ) T (S i )
70 Update von T (S) und D(S) Schritt 2: Aktualisiere T und D Fall 1: s i 0 p i s i q i B 0 A C D T (S i 1 ) T (S i ) D(S i 1 ) D(S i ) 0 A p i q i B s i C D
71 Update von T (S) und D(S) Schritt 2: Aktualisiere T und D Fall 1: s i 0 Fall 2: T s i 2 s i 3 p A i 0 2 q i 1 B D E F C T (S i 1 ) T (S i )
72 Update von T (S) und D(S) Schritt 2: Aktualisiere T und D Fall 1: s i 0 Fall 2: T s i 2 s i 3 p A i 0 2 q i 1 B D E F C T (S i 1 ) T (S i ) D(S i 1 ) D(S i ) ?
73 Update von T (S) und D(S) Schritt 2: Aktualisiere T und D Fall 1: s i 0 Fall 2: T s i 2 s i 3 p A i 0 2 q i 1 B D E F C T (S i 1 ) T (S i ) D(S i 1 ) D(S i ) s i s i s i q i A B C D s i E F
74 Analyse Satz: Der Algorithmus berechnet die Trapezzerlegung T (S) und die Suchstruktur D für eine Menge S von n Strecken in erwartet O(n log n) Zeit. Die erwartete Größe von D ist O(n) und die erwartete Anfragezeit O(log n).
75 Analyse Satz: Der Algorithmus berechnet die Trapezzerlegung T (S) und die Suchstruktur D für eine Menge S von n Strecken in erwartet O(n log n) Zeit. Die erwartete Größe von D ist O(n) und die erwartete Anfragezeit O(log n). Beobachtungen: im schlimmsten Fall kann D quadratisch groß werden und eine Anfrage lineare Zeit benötigen Hoffnung: das passiert nur selten! betrachte erwartete Laufzeit und Größe über alle n! möglichen Permutationen von S der Satz gilt unabhängig von der Eingabemenge S
76 Degenerierte Eingaben Zwei Annahmen bislang: keine zwei Streckenendpunkte habe gleiche x-koordinate immer eindeutige Antworten im Suchpfad
77 Degenerierte Eingaben Zwei Annahmen bislang: keine zwei Streckenendpunkte habe gleiche x-koordinate immer eindeutige Antworten im Suchpfad Ausweg: symbolische Scherung ϕ : (x, y) (x + εy, y) y y ϕ x x
78 Degenerierte Eingaben Zwei Annahmen bislang: keine zwei Streckenendpunkte habe gleiche x-koordinate immer eindeutige Antworten im Suchpfad Ausweg: symbolische Scherung ϕ : (x, y) (x + εy, y) y y ϕ x x Dabei ist ε > 0 so gewählt, dass sich die x-ordnung der Punkte nicht ändert.
79 Degenerierte Eingaben Führe Algorithmus für ϕs = {ϕs s S} und ϕp aus.
80 Degenerierte Eingaben Führe Algorithmus für ϕs = {ϕs s S} und ϕp aus. Zwei elementare Operationen beim Aufbau von T und D: 1. liegt q links oder rechts der Vertikalen durch p? 2. liegt q oberhalb oder unterhalb der Strecke s?
81 Degenerierte Eingaben Führe Algorithmus für ϕs = {ϕs s S} und ϕp aus. Zwei elementare Operationen beim Aufbau von T und D: 1. liegt q links oder rechts der Vertikalen durch p? 2. liegt q oberhalb oder unterhalb der Strecke s? Auch Lokalisierung eines Punktes q in T (S) geht durch Lokalisierung von ϕq in T (ϕs).
82 Worst-Case Abschätzung Bislang: erwartete Anfragezeit für bel. Punkt ist O(log n) Aber: jede Permutation könnte sehr schlechte Anfragepunkte haben
83 Worst-Case Abschätzung Bislang: erwartete Anfragezeit für bel. Punkt ist O(log n) Aber: jede Permutation könnte sehr schlechte Anfragepunkte haben Lemma: Sei S Menge von n kreuzungsfreien Strecken, q Anfragepunkt und λ > 0. Dann gilt Pr[Suchpfad für q länger als 3λ ln(n + 1)] 1/(n + 1) λ ln
84 Worst-Case Abschätzung Bislang: erwartete Anfragezeit für bel. Punkt ist O(log n) Aber: jede Permutation könnte sehr schlechte Anfragepunkte haben Lemma: Sei S Menge von n kreuzungsfreien Strecken, q Anfragepunkt und λ > 0. Dann gilt Pr[Suchpfad für q länger als 3λ ln(n + 1)] 1/(n + 1) λ ln Lemma: Sei S Menge von n kreuzungsfreien Strecken und λ > 0. Dann gilt Pr[max. Suchpfad in D länger als 3λ ln(n + 1)] 2/(n + 1) λ ln
85 Worst-Case Abschätzung Bislang: erwartete Anfragezeit für bel. Punkt ist O(log n) Aber: jede Permutation könnte sehr schlechte Anfragepunkte haben Lemma: Sei S Menge von n kreuzungsfreien Strecken, q Anfragepunkt und λ > 0. Dann gilt Pr[Suchpfad für q länger als 3λ ln(n + 1)] 1/(n + 1) λ ln Lemma: Sei S Menge von n kreuzungsfreien Strecken und λ > 0. Dann gilt Pr[max. Suchpfad in D länger als 3λ ln(n + 1)] 2/(n + 1) λ ln Satz: Sei S Unterteilung der Ebene mit n Kanten. Es gibt eine Suchstruktur zur in S mit Platzbedarf O(n) und Anfragezeit O(log n).
86 Diskussion Gibt es ähnliche Methoden auch für höhere Dimensionen?
87 Diskussion Gibt es ähnliche Methoden auch für höhere Dimensionen? Die derzeit beste Datenstruktur in drei Dimensionen benötigt O(n log n) Platz und O(log 2 n) Anfragezeit [Snoeyink 04]. Ob es mit linearem Platz und O(log n) Anfragezeit geht ist eine offene Frage. In höheren Dimensionen sind effiziente Verfahren nur für spezielle Unterteilungen durch Hyperebenen bekannt.
Punktlokalisierung. 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
MehrPunktlokalisation 1. Trapez-Zerlegungen. 2. Eine Suchstruktur. 3. Randomisierter, inkrementeller Algorithmus zur Konstruktion der Trapez-Zerlegung
Punktlokalisation 1. Trapez-Zerlegungen 2. Eine Suchstruktur 3. Randomisierter, inkrementeller Algorithmus zur Konstruktion der Trapez-Zerlegung 4. Analyse Punktlokalisation Einteilung in Streifen Anfragezeit:
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
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 :
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 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 24.04.2011 Überlagern von Kartenebenen Beispiel: Gegeben zwei verschiedene Kartenebenen,
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
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
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
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
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
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
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
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
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.
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
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
MehrAlgorithmische Geometrie 7. Punktsuche (Teil 2)
Algorithmische Geometrie 7. Punktsuche (Teil 2) JProf. Dr. Heike Leitte Computergraphik und Visualisierung Inhaltsverzeichnis 1. Einführung 2. Konvexe Hülle 3. Schnitte von Liniensegmenten 4. Schnitte
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
MehrLineares Programmieren
Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 03.05.2011 Nachtrag Art Gallery Problem Lässt sich der Triangulierungs-Algorithmus
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
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
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
Mehr7. Triangulation von einfachen Polygonen
1 7. Triangulation von einfachen Polygonen 2 Ziel Bessere Laufzeit als O(n log n) durch schnelleres Berechnen der Trapezzerlegung des Polygons. 3 Idee Finde Methode, den Anfangspunkt einer Strecke in der
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
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
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
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 2016 Patrick Schäfer, Humboldt-Universität zu Berlin Organisation Vorlesung: Montag 11 13 Uhr Marius Kloft RUD 26, 0 115 Mittwoch 11 13 Uhr Marius Kloft
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
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
MehrGrundlagen: Algorithmen und Datenstrukturen
Grundlagen: Algorithmen und Datenstrukturen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 00
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
MehrRandomisiert inkrementelle Konstruktion der Trapezzerlegung. Strecken in der Ebene
Randomiiert inkrementelle Kontruktion der Trapezzerlegung einer Menge von Strecken in der Ebene (Literatur: deberg et al., Kapitel 6) Chritian Knauer 1 Problemtellung Gegeben: Eine Menge von n Strecken
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
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
MehrKap. 3: Sortieren (3)
Kap. 3: Sortieren (3) Professor Dr. Lehrstuhl für Algorithm Engineering, LS Fakultät für Informatik, TU Dortmund 6. VO DAP2 SS 2009 30. April 2009 Überblick Quick-Sort Analyse von Quick-Sort Quick-Sort
MehrGrundlagen: Algorithmen und Datenstrukturen
Technische Universität München Fakultät für Informatik Lehrstuhl für Effiziente Algorithmen Dr. Hanjo Täubig Jeremias Weihmann Sommersemester 2014 Übungsblatt 2 28. April 2014 Grundlagen: Algorithmen und
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:
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:
MehrZunächst ein paar einfache "Rechen"-Regeln: Lemma, Teil 1: Für beliebige Funktionen f und g gilt:
Der Groß-O-Kalkül Zunächst ein paar einfache "Rechen"-Regeln: G. Zachmann Informatik 1 - WS 05/06 Komplexität 22 Additionsregel Lemma, Teil 1: Für beliebige Funktionen f und g gilt: Zu beweisen: nur das
MehrÜbung zur Vorlesung Berechenbarkeit und Komplexität
RWTH Aachen Lehrgebiet Theoretische Informatik Reidl Ries Rossmanith Sanchez Tönnis WS 2012/13 Übungsblatt 7 26.11.2012 Übung zur Vorlesung Berechenbarkeit und Komplexität Aufgabe T15 Entwickeln Sie ein
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
MehrAlgorithmen & Komplexität
Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik steger@inf.ethz.ch Breitensuche, Tiefensuche Wir besprechen nun zwei grundlegende Verfahren, alle Knoten eines Graphen zu
MehrGrundlagen: Algorithmen und Datenstrukturen
Grundlagen: Algorithmen und Datenstrukturen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2010
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
MehrAlle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)).
8. Untere Schranken für Sortieren Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)). Werden nun gemeinsame Eigenschaften dieser Algorithmen untersuchen. Fassen gemeinsame
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
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:
MehrDatenstrukturen und Algorithmen. 7. Suchen in linearen Feldern
Datenstrukturen und Algorithmen 7. Suchen in linearen Feldern VO 708.031 Suchen in linearen Feldern robert.legenstein@igi.tugraz.at 1 Inhalt der Vorlesung 1. Motivation, Einführung, Grundlagen 2. Algorithmische
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
MehrVorlesung Informatik 2 Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (22 - AVL-Bäume: Entfernen) Prof. Dr. Susanne Albers Definition von AVL-Bäumen Definition: Ein binärer Suchbaum heißt AVL-Baum oder höhenbalanziert,
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.
MehrKomplexität von Algorithmen:
Komplexität von Algorithmen: Ansatz: Beschreiben/erfassen der Komplexität über eine Funktion, zur Abschätzung des Rechenaufwandes abhängig von der Größe der Eingabe n Uns interessiert: (1) Wie sieht eine
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,
MehrDas Suchproblem 4. Suchen Das Auswahlproblem Suche in Array
Das Suchproblem Gegeben. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.-3,2.2-3,2.3-] Menge von Datensätzen. Beispiele
MehrDas Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle
122 4. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.1-3,2.2-3,2.3-5] 123 Das Suchproblem Gegeben Menge von Datensätzen.
MehrKapitel 2: Sortier- und Selektionsverfahren Gliederung
Gliederung 1. Laufzeit von Algorithmen 2. Sortier- und Selektionsverfahren 3. Paradigmen des Algorithmenentwurfs 4. Ausgewählte Datenstrukturen 5. Algorithmische Geometrie 6. Randomisierte Algorithmen
MehrDatenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität
Datenstrukturen und Algorithmen Christian Sohler FG Algorithmen & Komplexität 1 Geometrisches Problem: Problem: Nächstes Paar Eingabe: n Punkte in der Ebene Ausgabe: Das Paar q,r mit geringstem Abstand
Mehr1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit ** i=1
Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 05/06 ITI Wagner. Musterlösung Problem : Average-case-Laufzeit vs. Worst-case-Laufzeit ** (a) Im schlimmsten Fall werden für jedes Element
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
MehrGrundlagen: Algorithmen und Datenstrukturen
Technische Universität München Fakultät für Informatik Lehrstuhl für Effiziente Algorithmen Dr. Hanjo Täubig Tobias Lieber Sommersemester 2011 Übungsblatt 1 16. September 2011 Grundlagen: Algorithmen und
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
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2012/13 25. Vorlesung Dynamisches Programmieren Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Klausurvorbereitung Tipp: Schreiben Sie sich alle Fragen
MehrGrundlagen: Algorithmen und Datenstrukturen
Technische Universität München Fakultät für Informatik Lehrstuhl für Effiziente Algorithmen Dr. Hanjo Täubig Tobias Lieber Sommersemester 011 Übungsblatt 30. Mai 011 Grundlagen: Algorithmen und Datenstrukturen
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:
MehrCopyright, Page 1 of 8 AVL-Baum
www.mathematik-netz.de Copyright, Page 1 of 8 AVL-Baum 1. Motivation und Einleitung Das Suchen, Einfügen und entfernen eines Schlüssels in einem zufällige erzeugten binären Suchbaum mit N Schlüsseln ist
MehrSortieren & Co. KIT Institut für Theoretische Informatik
Sortieren & Co KIT Institut für Theoretische Informatik 1 Formaler Gegeben: Elementfolge s = e 1,...,e n Gesucht: s = e 1,...,e n mit s ist Permutation von s e e 1 n für eine Totalordnung ` ' KIT Institut
MehrKap. 4.7 Skiplisten. 15./16. VO DAP2 SS /10. Juni 2008
Kap. 4.7 Skiplisten Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 15./16. VO DAP2 SS 2008 5./10. Juni 2008 1 Proseminare WS 2008/09 Anmeldefrist: Montag 16.06.
MehrFortgeschrittene 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
Mehr8. A & D - Heapsort. Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können.
8. A & D - Heapsort Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können. Genauer werden wir immer wieder benötigte Operationen durch Datenstrukturen unterstützen.
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
MehrGrundlagen zur Delaunay-Triangulierung und zur konvexen Hülle. zum Begriff des Voronoi-Diagramms (vgl. auch Vorlesung "Algorithmische Geometrie"):
Grundlagen zur Delaunay-Triangulierung und zur konvexen Hülle zum Begriff des Voronoi-Diagramms (vgl. auch Vorlesung "Algorithmische Geometrie"): 1 Erzeugung des Voronoi-Diagramms (siehe Vorlesung "Algorithmische
MehrDas Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle
119 4. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Exponentielle Suche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.1-3,2.2-3,2.3-5] 120 Das Suchproblem Gegeben
MehrDas Suchproblem 4. Suchen Das Auswahlproblem Suche in Array
Das Suchproblem Gegeben. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Exponentielle Suche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.-3,2.2-3,2.3-] Menge
MehrSeminar. Algorithmische Geometrie
Seminar Algorithmische Geometrie WS 2000/2001 Thema: Konvexe Hülle Mirko Dennler 21439 Inhaltsverzeichnis Konvexe Hülle 1. Problemstellung 3 2. GRAHAMS SCAN 4-5 3. JARVIS' MARCH 5-6 4. QUICK HULL 6-7 5.
MehrWiederholung. Divide & Conquer Strategie
Wiederholung Divide & Conquer Strategie Binäre Suche O(log n) Rekursives Suchen im linken oder rechten Teilintervall Insertion-Sort O(n 2 ) Rekursives Sortieren von a[1..n-1], a[n] Einfügen von a[n] in
MehrUberblick 1. Problemstellung 2. Kongurationsraum 3. Bewegungsplanung fur einen Punktroboter 4. Minkowski Summen 5. Pseudo-Scheiben 6. Bewegungsplanung
Vorlesung Geometrische Algorithmen Bewegungsplanung fur Roboter (Robot Motion Planning) Sven Schuierer Uberblick 1. Problemstellung 2. Kongurationsraum 3. Bewegungsplanung fur einen Punktroboter 4. Minkowski
MehrKapitel 2. Weitere Beispiele Effizienter Algorithmen
Kapitel 2 Weitere Beispiele Effizienter Algorithmen Sequentielle Suche Gegeben: Array a[1..n] Suche in a nach Element x Ohne weitere Zusatzinformationen: Sequentielle Suche a[1] a[2] a[3] Laufzeit: n Schritte
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 017 Marc Bux, Humboldt-Universität zu Berlin Agenda 1. Vorrechnen von Aufgabenblatt 1. Wohlgeformte Klammerausdrücke 3. Teile und Herrsche Agenda 1.
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen Lerneinheit : Kürzeste Pfade in Graphen Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 016.6.01 Einleitung Diese Lerneinheit beschäftigt
Mehr2. Algorithmische Methoden 2.1 Rekursion. 18. April 2017
2. Algorithmische Methoden 2.1 Rekursion 18. April 2017 Rekursiver Algorithmus Ein rekursiver Algorithmus löst ein Problem, indem er eine oder mehrere kleinere Instanzen des gleichen Problems löst. Beispiel
MehrAlgorithmische Geometrie: Lineare Optimierung (I)
Algorithmische Geometrie: Lineare Optimierung (I) Nico Düvelmeyer WS 2009/2010, 17.11.2009 Überblick 1 Geometrie von Gießformen 2 Durchschnitte von Halbebenen 3 Inkrementeller Algorithmus Überblick 1 Geometrie
Mehr9. Rekursion. 1 falls n 1 n (n 1)!, andernfalls. Experiment: Die Türme von Hanoi. Links Mitte Rechts. Mathematische Rekursion
Experiment: Die Türme von Hanoi. Rekursion Mathematische Rekursion, Terminierung, der Aufrufstapel, Beispiele, Rekursion vs. Iteration Links Mitte Rechts Mathematische Rekursion Viele mathematische Funktionen
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 2016 Patrick Schäfer, Humboldt-Universität zu Berlin Agenda Amortisierte Analyse Suche in sortierten Arrays Heaps Vorstellen des fünften Übungsblatts
MehrErweiterter Euklidischer Algorithmus
Erweiterter Euklidischer Algorithmus Algorithmus ERWEITERTER EUKLIDISCHER ALG. (EEA) EINGABE: a, b N 1 If (b = 0) then return (a, 1, 0); 2 (d, x, y) EEA(b, a mod b); 3 (d, x, y) (d, y, x a b y); AUSGABE:
MehrPunkt-in-Polygon-Suche Übersicht
Folie 1 von 19 Punkt-in-Polygon-Suche Übersicht Praxisbeispiel/Problemstellung Zählen von Schnittpunkten Schnitt einer Halbgerade mit der Masche Aufwandsbetrachtung Streifenkarte Vorgehen und Eigenschaften
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2012/13 17. Vorlesung Nächstes Paar Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Problem: Gegeben: Menge P von n Punkten in der Ebene, jeder Punkt
MehrAlgorithmische Methoden zur Netzwerkanalyse
Algorithmische Methoden zur Netzwerkanalyse Prof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Die Forschungsuniversität Meyerhenke, in der Institut für Theoretische Informatik
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
MehrMotivation Binäre Suchbäume
Kap..: Binäre Suchbäume Professor Dr. Lehrstuhl für Algorithm Engineering, LS Fakultät für Informatik, TU Dortmund Zusätzliche Lernraumbetreuung Morteza Monemizadeh: Jeden Montag von :00 Uhr-:00 Uhr in
MehrInformatik II: Algorithmen und Datenstrukturen SS 2015
Informatik II: Algorithmen und Datenstrukturen SS 2015 Vorlesung 8b, Mittwoch, 17. Juni 2015 (Balancierte Suchbäume) Prof. Dr. Hannah Bast Lehrstuhl für Algorithmen und Datenstrukturen Institut für Informatik
MehrAlgorithmische Geometrie: Delaunay Triangulierung (Teil 1)
Algorithmische Geometrie: Delaunay Triangulierung (Teil 1) Nico Düvelmeyer WS 2009/2010, 26.1.2010 Überblick 1 Motivation Interpolation von Höhendaten 2 Triangulierungen von ebenen Punktmengen 3 Delaunay
Mehr12. Der Algorithmus von Dijkstra. Informatik II für Verkehrsingenieure
. Der Algorithmus von Dijkstra Informatik II für Verkehrsingenieure Problemstellung Gegeben: Graph G =(V, E, len) mit positiver Kantenfunktion len : E! R 0, Knoten s, t V Mögliche Aufgaben Berechne Distanz
Mehr