benjamin niedermann ubung algorithmische geometrie€¦ · benjamin niedermann ubung algorithmische...
TRANSCRIPT
Benjamin Niedermann · Ubung Algorithmische Geometrie
Benjamin Niedermann
Ubung Algorithmische Geometrie
LEHRSTUHL FUR ALGORITHMIK I · INSTITUT FUR THEORETISCHE INFORMATIK · FAKULTAT FUR INFORMATIK
Quad-trees
02.07.2014
Benjamin Niedermann · Ubung Algorithmische Geometrie
Ubersicht
Ubungsblatt 11 - Quadtrees
Benjamin Niedermann · Ubung Algorithmische Geometrie
Motivation: Meshing von Platinenlayouts
Zur Simulation der Hitzeentwicklung aufPlatinen kann man die finite ElementeMethode (FEM) einsetzen:
zerlege die Platine in kleine homogeneElemente (z.B. Dreiecke) → Mesheigene Hitzeentwicklung und Einflussauf Nachbarn je Element bekanntapproximiere numerisch die gesamteHitzeentwicklung der Platine
Benjamin Niedermann · Ubung Algorithmische Geometrie
Motivation: Meshing von Platinenlayouts
Zur Simulation der Hitzeentwicklung aufPlatinen kann man die finite ElementeMethode (FEM) einsetzen:
zerlege die Platine in kleine homogeneElemente (z.B. Dreiecke) → Mesheigene Hitzeentwicklung und Einflussauf Nachbarn je Element bekanntapproximiere numerisch die gesamteHitzeentwicklung der Platine
Qualitatseigenschaften von FEM:je feiner das Mesh desto besser die Approximationje grober das Mesh desto schneller die Berechnungje kompakter die Elemente desto schneller die Konvergenz
Benjamin Niedermann · Ubung Algorithmische Geometrie
Motivation: Meshing von Platinenlayouts
Zur Simulation der Hitzeentwicklung aufPlatinen kann man die finite ElementeMethode (FEM) einsetzen:
zerlege die Platine in kleine homogeneElemente (z.B. Dreiecke) → Mesheigene Hitzeentwicklung und Einflussauf Nachbarn je Element bekanntapproximiere numerisch die gesamteHitzeentwicklung der Platine
Qualitatseigenschaften von FEM:je feiner das Mesh desto besser die Approximationje grober das Mesh desto schneller die Berechnungje kompakter die Elemente desto schneller die Konvergenz
Ziel: adaptive Meshgroße (klein an Materialgrenzen, sonst grober)wohlgeformte Dreiecke (nicht zu schmal)
Benjamin Niedermann · Ubung Algorithmische Geometrie
Adaptive Dreiecksnetze
Geg.: Quadrat Q = [0, U ]× [0, U ] fur Zweierpotenz U = 2j
mit oktilinearen, ganzzahligen Polygonen im Inneren.
Ges.: Dreiecksnetz fur Q mit folgenden Eigenschaften
Benjamin Niedermann · Ubung Algorithmische Geometrie
Adaptive Dreiecksnetze
Geg.: Quadrat Q = [0, U ]× [0, U ] fur Zweierpotenz U = 2j
mit oktilinearen, ganzzahligen Polygonen im Inneren.
Ges.: Dreiecksnetz fur Q mit folgenden Eigenschaften
keine Dreiecksknoten im Inneren von Dreieckskanten
unzulassige Dreiecksknoten
Benjamin Niedermann · Ubung Algorithmische Geometrie
Adaptive Dreiecksnetze
Geg.: Quadrat Q = [0, U ]× [0, U ] fur Zweierpotenz U = 2j
mit oktilinearen, ganzzahligen Polygonen im Inneren.
Ges.: Dreiecksnetz fur Q mit folgenden Eigenschaften
keine Dreiecksknoten im Inneren von Dreieckskanten
Eingabekanten mussen Teil des Dreiecksnetzes sein
nicht Teil des Dreiecksnetzes
Benjamin Niedermann · Ubung Algorithmische Geometrie
Adaptive Dreiecksnetze
Geg.: Quadrat Q = [0, U ]× [0, U ] fur Zweierpotenz U = 2j
mit oktilinearen, ganzzahligen Polygonen im Inneren.
Ges.: Dreiecksnetz fur Q mit folgenden Eigenschaften
keine Dreiecksknoten im Inneren von Dreieckskanten
Eingabekanten mussen Teil des Dreiecksnetzes sein
Dreieckswinkel zwischen 45◦ und 90◦
unzulassige Winkel
{gultig
Benjamin Niedermann · Ubung Algorithmische Geometrie
Adaptive Dreiecksnetze
Geg.: Quadrat Q = [0, U ]× [0, U ] fur Zweierpotenz U = 2j
mit oktilinearen, ganzzahligen Polygonen im Inneren.
Ges.: Dreiecksnetz fur Q mit folgenden Eigenschaften
keine Dreiecksknoten im Inneren von Dreieckskanten
Eingabekanten mussen Teil des Dreiecksnetzes sein
Dreieckswinkel zwischen 45◦ und 90◦
adaptiv, d.h. fein an den Polygonkanten, sonstgrober
uniformes Dreiecksnetz
{gultig
Benjamin Niedermann · Ubung Algorithmische Geometrie
Adaptive Dreiecksnetze
Geg.: Quadrat Q = [0, U ]× [0, U ] fur Zweierpotenz U = 2j
mit oktilinearen, ganzzahligen Polygonen im Inneren.
Ges.: Dreiecksnetz fur Q mit folgenden Eigenschaften
keine Dreiecksknoten im Inneren von Dreieckskanten
Eingabekanten mussen Teil des Dreiecksnetzes sein
Dreieckswinkel zwischen 45◦ und 90◦
adaptiv, d.h. fein an den Polygonkanten, sonstgrober
uniformes Dreiecksnetz
Kennen wir schon sinnvolle Triangulierungen fur Q?
{gultig
Benjamin Niedermann · Ubung Algorithmische Geometrie
Aufgabe 1
Delaunay Triangulierung ↔ Meshing
Meshing aus der Vorlesung liefert ausschließlich Dreiecke die ausschließichnicht-stumpfe Winkel besitzen, d.h., keinen Winkel > 90◦.
Benjamin Niedermann · Ubung Algorithmische Geometrie
Aufgabe 1
Delaunay Triangulierung ↔ Meshing
Meshing aus der Vorlesung liefert ausschließlich Dreiecke die ausschließichnicht-stumpfe Winkel besitzen, d.h., keinen Winkel > 90◦.
Benjamin Niedermann · Ubung Algorithmische Geometrie
Aufgabe 1
Delaunay Triangulierung ↔ Meshing
Meshing aus der Vorlesung liefert ausschließlich Dreiecke die ausschließichnicht-stumpfe Winkel besitzen, d.h., keinen Winkel > 90◦.
Sei nun T eine Triangulierung einer endlichen Punktmenge P ⊂ R2,sodass jedes Dreieck nur nicht-stumpfe Winkel besitzt. Zeige, dass T eineDelaunay Triangulierung ist.
Benjamin Niedermann · Ubung Algorithmische Geometrie
Charakterisierung
Satz uber Voronoi-Diagramme:
Ein Punkt q ist ein Voronoi-Knoten⇔ |CP (q) ∩ P | ≥ 3,der Bisektor b(pi, pj) definiert eine Voronoi-Kante⇔ ∃q ∈ b(pi, pj) mit CP (q) ∩ P = {pi, pj}.
Satz 4: Sei P eine Menge von Punkten.Punkte p, q, r sind Knoten der gleichen Facette inDG(P ) ⇔ Kreis durch p, q, r ist leerKante pq ist in DG(P )⇔ es gibt einen leeren Kreis Cp,q durch p und q
Satz 5: Sei P Punktmenge und T eine Triangulierung von P .T ist Delaunay-Triangulierung⇔ Umkreis jedes Dreiecks ist im Inneren leer.
VL
Benjamin Niedermann · Ubung Algorithmische Geometrie
Der Satz von Thales
a
Satz 2: Alle Dreiecke aus den Endpunktendes Kreisdurchmessers und einesHalbkreispunktes sind rechtwinklig.
b
Satz 2′: Alle Dreiecke aus den Endpunkten einer Sekante` = ab und eines Kreispunktes c auf der gleichen Seitevon ` haben den gleichen Winkel an c. Fur Dreiecke∆abd mit d innerhalb des Kreises gilt ∠adb > ∠acd,fur e außerhalb des Kreises gilt ∠aeb < ∠acd.
ab
c c′e
d
∠aeb < ∠acb = ∠ac′b < ∠adb
VL
Benjamin Niedermann · Ubung Algorithmische Geometrie
Aufgabe 1
Annahme: Es gibt Triangulierung T mit nur nicht-stumpfen Dreiecken,die keine Delaunay-Triangulierung ist.
Benjamin Niedermann · Ubung Algorithmische Geometrie
Aufgabe 1
Annahme: Es gibt Triangulierung T mit nur nicht-stumpfen Dreiecken,die keine Delaunay-Triangulierung ist.
Es gibt Dreieck ∆ = (pqr) dessen Umkreis einen weiteren Punkt z enthalt.
pq
r
z
m
C
Benjamin Niedermann · Ubung Algorithmische Geometrie
Aufgabe 1
Annahme: Es gibt Triangulierung T mit nur nicht-stumpfen Dreiecken,die keine Delaunay-Triangulierung ist.
Es gibt Dreieck ∆ = (pqr) dessen Umkreis einen weiteren Punkt z enthalt.
z kann so gewahlt werden, dass mit mind. zwei Punkten von ∆ verbunden.
pq
r
z
m
C
Benjamin Niedermann · Ubung Algorithmische Geometrie
Aufgabe 1
Annahme: Es gibt Triangulierung T mit nur nicht-stumpfen Dreiecken,die keine Delaunay-Triangulierung ist.
Es gibt Dreieck ∆ = (pqr) dessen Umkreis einen weiteren Punkt z enthalt.
z kann so gewahlt werden, dass mit mind. zwei Punkten von ∆ verbunden.
pq
r
z
m
C
1. Fall: z liegt außerhalb von ∆
O.B.d.A. sei z mit p und q verbunden.
Benjamin Niedermann · Ubung Algorithmische Geometrie
Aufgabe 1
Annahme: Es gibt Triangulierung T mit nur nicht-stumpfen Dreiecken,die keine Delaunay-Triangulierung ist.
Es gibt Dreieck ∆ = (pqr) dessen Umkreis einen weiteren Punkt z enthalt.
z kann so gewahlt werden, dass mit mind. zwei Punkten von ∆ verbunden.
pq
r
z
m
m′
C ′
C
1. Fall: z liegt außerhalb von ∆
O.B.d.A. sei z mit p und q verbunden.
Sei C ′ Kreis durch p und q Mittelpunkt m′
auf Halfte von pq
Benjamin Niedermann · Ubung Algorithmische Geometrie
Aufgabe 1
Annahme: Es gibt Triangulierung T mit nur nicht-stumpfen Dreiecken,die keine Delaunay-Triangulierung ist.
Es gibt Dreieck ∆ = (pqr) dessen Umkreis einen weiteren Punkt z enthalt.
z kann so gewahlt werden, dass mit mind. zwei Punkten von ∆ verbunden.
pq
r
z
m
m′
C ′
C
1. Fall: z liegt außerhalb von ∆
O.B.d.A. sei z mit p und q verbunden.
Sei C ′ Kreis durch p und q Mittelpunkt m′
auf Halfte von pq
Nach Satz 2’ liegt r nicht im Inneren von C ′
Da z in C liegt, muss z auch in C ′ liegen.
Benjamin Niedermann · Ubung Algorithmische Geometrie
Aufgabe 1
Annahme: Es gibt Triangulierung T mit nur nicht-stumpfen Dreiecken,die keine Delaunay-Triangulierung ist.
Es gibt Dreieck ∆ = (pqr) dessen Umkreis einen weiteren Punkt z enthalt.
z kann so gewahlt werden, dass mit mind. zwei Punkten von ∆ verbunden.
pq
r
z
m
m′
C ′
C
1. Fall: z liegt außerhalb von ∆
O.B.d.A. sei z mit p und q verbunden.
Sei C ′ Kreis durch p und q Mittelpunkt m′
auf Halfte von pq
Nach Satz 2’ liegt r nicht im Inneren von C ′
Da z in C liegt, muss z auch in C ′ liegen.
Nach Satz 2’ ist Winkel an z großer 90◦
Benjamin Niedermann · Ubung Algorithmische Geometrie
Aufgabe 1
Annahme: Es gibt Triangulierung T mit nur nicht-stumpfen Dreiecken,die keine Delaunay-Triangulierung ist.
Es gibt Dreieck ∆ = (pqr) dessen Umkreis einen weiteren Punkt z enthalt.
z kann so gewahlt werden, dass mit mind. zwei Punkten von ∆ verbunden.
pq
r
z
m
m′
C ′
C
1. Fall: z liegt außerhalb von ∆
O.B.d.A. sei z mit p und q verbunden.
Sei C ′ Kreis durch p und q Mittelpunkt m′
auf Halfte von pq
Nach Satz 2’ liegt r nicht im Inneren von C ′
Da z in C liegt, muss z auch in C ′ liegen.
Nach Satz 2’ ist Winkel an z großer 90◦
2. Fall: z liegt innerhalb von ∆
Ahnliche Argumentation.
Benjamin Niedermann · Ubung Algorithmische Geometrie
Quadtrees
NO NW SW SO
Def.: Ein Quadtree ist ein Wurzelbaum, in dem jeder innereKnoten vier Kinder hat. Jeder Knoten entspricht einemQuadrat und die Quadrate der Blatter bilden eineUnterteilung des Wurzelquadrats.
Benjamin Niedermann · Ubung Algorithmische Geometrie
Quadtrees
NO NW SW SO
Def.: Ein Quadtree ist ein Wurzelbaum, in dem jeder innereKnoten vier Kinder hat. Jeder Knoten entspricht einemQuadrat und die Quadrate der Blatter bilden eineUnterteilung des Wurzelquadrats.
Ecken
Kanten
Seiten
Nachbarn
Benjamin Niedermann · Ubung Algorithmische Geometrie
Quadtrees
Def.: Ein Quadtree ist ein Wurzelbaum, in dem jeder innereKnoten vier Kinder hat. Jeder Knoten entspricht einemQuadrat und die Quadrate der Blatter bilden eineUnterteilung des Wurzelquadrats.
Def.: Fur eine Punktmenge P in einem QuadratQ = [xQ, x
′Q]× [yQ, y
′Q] gilt fur den Quadtree T (P )
ist |P | ≤ 1, so ist T (P ) ein Blatt, das P und Q speichert
sonst sei xmid =xQ+x′
Q
2und ymid =
yQ+y′Q
2und
PNO := {p ∈ P | px > xmid and py > ymid}PNW := {p ∈ P | px ≤ xmid and py > ymid}PSW := {p ∈ P | px ≤ xmid and py ≤ ymid}PSO := {p ∈ P | px > xmid and py ≤ ymid}T (P ) besteht aus Wurzel v, die Q speichert, mit vierKindern fur Pi und Qi (i ∈ {NO,NW,SW,SO}).
Benjamin Niedermann · Ubung Algorithmische Geometrie
Beispiel
Benjamin Niedermann · Ubung Algorithmische Geometrie
Beispiel
Benjamin Niedermann · Ubung Algorithmische Geometrie
Beispiel
Benjamin Niedermann · Ubung Algorithmische Geometrie
Beispiel
Benjamin Niedermann · Ubung Algorithmische Geometrie
Beispiel
Benjamin Niedermann · Ubung Algorithmische Geometrie
Beispiel
Benjamin Niedermann · Ubung Algorithmische Geometrie
Quadtree Eigenschaften
Die rekursive Definition eines Quadtrees lasst sich direkt ineinen Algorithmus zur Konstruktion umsetzen.
Welche Tiefe hat ein Quadtree fur n Punkte?
Lemma 1: Die Tiefe von T (P ) ist hochstens log(s/c) + 3/2,wobei c der kleinste Abstand in P ist und s dieSeitenlange des Wurzelquadrats Q.
Satz 1: Ein Quadtree T (P ) fur n Punkte und mit Tiefe dhat O((d+ 1)n) Knoten und kann in O((d+ 1)n)Zeit konstruiert werden.
Benjamin Niedermann · Ubung Algorithmische Geometrie
Aufgabe 2
Komprimierte Quadtrees
Benjamin Niedermann · Ubung Algorithmische Geometrie
Aufgabe 2
Komprimierte Quadtrees
NO NW SW SO
Benjamin Niedermann · Ubung Algorithmische Geometrie
Aufgabe 2
Komprimierte Quadtrees
NO NW SW SO
Benjamin Niedermann · Ubung Algorithmische Geometrie
Aufgabe 2
Komprimierte Quadtrees
NO NW SW SO
Benjamin Niedermann · Ubung Algorithmische Geometrie
Aufgabe 2
Komprimierte Quadtrees
NO NW SW SO
Benjamin Niedermann · Ubung Algorithmische Geometrie
Aufgabe 2
Komprimierte Quadtrees
NO NW SW SO
Benjamin Niedermann · Ubung Algorithmische Geometrie
Aufgabe 2
Komprimierte Quadtrees
NO NW SW SO
Benjamin Niedermann · Ubung Algorithmische Geometrie
Aufgabe 2
Komprimierte Quadtrees
NO NW SW SO
Anzahl der Knoten jetzt O(n) (statt O((d+ 1)n))Laufzeit fur Umwandlung?Aufwand fur Konstruktion verringern?
Benjamin Niedermann · Ubung Algorithmische Geometrie
Aufgabe 3
Balancierte Quadtrees
Benjamin Niedermann · Ubung Algorithmische Geometrie
Balancierte Quadtrees
Def.: Ein Quadtree heißt balanciert, wenn die Seitenlange vonje zwei Nachbarquadraten in der zugeh. Unterteilungsich um einen Faktor von hochstens 2 unterscheidet.
VL
Benjamin Niedermann · Ubung Algorithmische Geometrie
Quadtrees balancieren
BalanceQuadtree(T )
Input: Quadtree TOutput: balancierter Quadtree TL← Liste aller Blatter von T ;while L nicht leer do
µ← extrahiere Blatt aus L;if µ.Q zu groß then
Teile µ.Q in vier Teile und lege vier Blatter in T an;fuge neue Blatter zu L hinzu;if µ.Q hat jetzt zu große Nachbarn then fuge sie zu L hinzu;
return T
Satz 3: Sei T ein Quadtree mit m Knoten und Tiefe d. Diebalancierte Version TB von T hat O(m) Knoten undkann in O((d+ 1)m) Zeit konstruiert werden.
Benjamin Niedermann · Ubung Algorithmische Geometrie
Aufgabe 3
Balancierte Quadtrees
Abanderung: Alle Rechtecke gleich groß
Benjamin Niedermann · Ubung Algorithmische Geometrie
Aufgabe 3
Balancierte Quadtrees
Abanderung: Alle Rechtecke gleich groß
Frage: Wie viele Blatter?
Benjamin Niedermann · Ubung Algorithmische Geometrie
Wiederholung: Bereichsanfrage
Szenario:
großer Straßengraph zeige nur einen kleinen Ausschnitt
Problem: BereichsanfrageGegeben eine Punktmenge P (die Knoten in dem Straßengraph) sowieein Rechteck R, finde alle Punkte aus P die in R liegen.
Einfache Losung:Teste fur jeden Punkt p ∈ P , ob p in R liegt.⇒ Laufzeit O(|P |), dabei werden ggf. sehr viel weniger Punkte angezeigt.
Benjamin Niedermann · Ubung Algorithmische Geometrie
Aufgabe 4
Quadtrees fur Range Queries?
Wie kann man Quadtrees fur Bereichsanfragen nutzen?
Benjamin Niedermann · Ubung Algorithmische Geometrie
Bereichsabfrage in einem kd-Tree
p1
p2
p3
p4 p5
p6p7
p8
p9p10
p11
p12p13
p1 p2
p4 p5
SearchKdTree(v,R)
if v Blatt thenprufe Punkt p in v auf p ∈ R;
elseif region(lc(v)) ⊆ R then
ReportSubtree(lc(v));else
if region(lc(v)) ∩R 6= ∅ thenSearchKdTree(lc(v), R);
if region(rc(v)) ⊆ R thenReportSubtree(rc(v));
elseif region(rc(v)) ∩R 6= ∅ thenSearchKdTree(rc(v), R);
p3
p6
p6
p7 p8 p9 p10
p7
p8
p9p10
p11 p12 p13
VL
Benjamin Niedermann · Ubung Algorithmische Geometrie
Bereichsabfrage
PNW PNO
PSW PSO
R
Benjamin Niedermann · Ubung Algorithmische Geometrie
Bereichsabfrage
PNW PNO
PSW PSO
Starte mit der Wurzel
R
Benjamin Niedermann · Ubung Algorithmische Geometrie
Bereichsabfrage
PNW PNO
PSW PSO
Starte mit der Wurzel
R
→ Rekursionsaufruf fur alle vier Kinder
Benjamin Niedermann · Ubung Algorithmische Geometrie
Bereichsabfrage
PNW PNO
PSW PSO
Starte mit der Wurzel
R
→ Rekursionsaufruf fur alle vier Kinder→ Sud-Ost-Knoten: vorzeitiger Abbruch und Ausgabe der enthaltenenPunkte
Benjamin Niedermann · Ubung Algorithmische Geometrie
Bereichsabfrage
PNW PNO
PSW PSO
Starte mit der Wurzel
R
→ Rekursionsaufruf fur alle vier Kinder→ Sud-Ost-Knoten: vorzeitiger Abbruch und Ausgabe der enthaltenenPunkte
→ Sud-West-Knoten: Rekursionsaufruf fur zwei Kinder→ Nord-West-Knoten: Rekursionsaufruf fur ein Kind
Benjamin Niedermann · Ubung Algorithmische Geometrie
Bereichsabfrage
PNW PNO
PSW PSO
Starte mit der Wurzel
R
→ Rekursionsaufruf fur alle vier Kinder→ Sud-Ost-Knoten: vorzeitiger Abbruch und Ausgabe der enthaltenenPunkte
→ Sud-West-Knoten: Rekursionsaufruf fur zwei Kinder→ Nord-West-Knoten: Rekursionsaufruf fur ein Kind→ Rekursionsende (Blatter erreicht): gib resultierende Knoten aus
Benjamin Niedermann · Ubung Algorithmische Geometrie
Bereichsabfrage
PNW PNO
PSW PSO
Starte mit der Wurzel
R
→ Rekursionsaufruf fur alle vier Kinder→ Sud-Ost-Knoten: vorzeitiger Abbruch und Ausgabe der enthaltenenPunkte
→ Sud-West-Knoten: Rekursionsaufruf fur zwei Kinder→ Nord-West-Knoten: Rekursionsaufruf fur ein Kind→ Rekursionsende (Blatter erreicht): gib resultierende Knoten aus
Wie geht das schnell?
Benjamin Niedermann · Ubung Algorithmische Geometrie
Problem 3(b)
Gegeben:gewurzelter Baum Tbis zu ein Punkt in jedem Blatt von Tein Knoten v in T
Gesucht: Punktealler Nachfolgern von v
v
Benjamin Niedermann · Ubung Algorithmische Geometrie
Problem 3(b)
Gegeben:gewurzelter Baum Tbis zu ein Punkt in jedem Blatt von Tein Knoten v in T
Gesucht: Punktealler Nachfolgern von v
traversiere Teilbaum Tv
Tv
O(|Tv|) × ×Ansatz Laufzeit Speicher Vorverarbeitungszeit
v
Benjamin Niedermann · Ubung Algorithmische Geometrie
Problem 3(b)
Gegeben:gewurzelter Baum Tbis zu ein Punkt in jedem Blatt von Tein Knoten v in T
Gesucht: Punktealler Nachfolgern von v
traversiere Teilbaum Tv
Tv
O(|Tv|) × ×speichere allenachfolgenden Punkte
Ansatz Laufzeit Speicher Vorverarbeitungszeit
v
Benjamin Niedermann · Ubung Algorithmische Geometrie
Problem 3(b)
Gegeben:gewurzelter Baum Tbis zu ein Punkt in jedem Blatt von Tein Knoten v in T
Gesucht: Punktealler Nachfolgern von v
traversiere Teilbaum Tv
Tv
O(|Tv|) × ×speichere allenachfolgenden Punkte
O(k) O(d · |P |) O(d · |P |)
Ansatz Laufzeit Speicher Vorverarbeitungszeit
(k = Anzahl gefundener Punkte)
v
Benjamin Niedermann · Ubung Algorithmische Geometrie
Problem 3(b)
Gegeben:gewurzelter Baum Tbis zu ein Punkt in jedem Blatt von Tein Knoten v in T
Gesucht: Punktealler Nachfolgern von v
traversiere Teilbaum Tv
Tv
O(|Tv|) × ×speichere allenachfolgenden Punkte
O(k) O(d · |P |) O(d · |P |)
speichere Start und Ende inPunktliste
Ansatz Laufzeit Speicher Vorverarbeitungszeit
(k = Anzahl gefundener Punkte)
v
Benjamin Niedermann · Ubung Algorithmische Geometrie
Problem 3(b)
Gegeben:gewurzelter Baum Tbis zu ein Punkt in jedem Blatt von Tein Knoten v in T
Gesucht: Punktealler Nachfolgern von v
traversiere Teilbaum Tv
Tv
O(|Tv|) × ×speichere allenachfolgenden Punkte
O(k) O(d · |P |) O(d · |P |)
speichere Start und Ende inPunktliste
O(k) O(|T |) O(|T |)
Ansatz Laufzeit Speicher Vorverarbeitungszeit
(k = Anzahl gefundener Punkte)
v
Benjamin Niedermann · Ubung Algorithmische Geometrie
Aufgabe 4
Quadtrees fur Range Queries?
Welchen Aufwand hat das Verfahren?
Benjamin Niedermann · Ubung Algorithmische Geometrie
Aufgabe 4
Quadtrees fur Range Queries?
Welchen Aufwand hat das Verfahren?
Benjamin Niedermann · Ubung Algorithmische Geometrie
Aufgabe 4
Quadtrees fur Range Queries?
Welchen Aufwand hat das Verfahren?
Benjamin Niedermann · Ubung Algorithmische Geometrie
Aufgabe 4
Quadtrees fur Range Queries?
Welchen Aufwand hat das Verfahren?
Benjamin Niedermann · Ubung Algorithmische Geometrie
Aufgabe 4
Quadtrees fur Range Queries?
Welchen Aufwand hat das Verfahren?
Benjamin Niedermann · Ubung Algorithmische Geometrie
Aufgabe 4
Quadtrees fur Range Queries?
Welchen Aufwand hat das Verfahren?
Benjamin Niedermann · Ubung Algorithmische Geometrie
Aufgabe 4
Quadtrees fur Range Queries?
Welchen Aufwand hat das Verfahren?
Benjamin Niedermann · Ubung Algorithmische Geometrie
Aufgabe 4
Was, wenn Anfragebereich eine durch eine vertikale Geradebegrenzte Halbebene ist?
Benjamin Niedermann · Ubung Algorithmische Geometrie
Aufgabe 4
Was, wenn Anfragebereich eine durch eine vertikale Geradebegrenzte Halbebene ist?