Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische...

Post on 15-Jun-2020

17 views 0 download

Transcript of Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische...

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?