• Keine Ergebnisse gefunden

Geometrische Datenstrukturen: Range Tree

N/A
N/A
Protected

Academic year: 2022

Aktie "Geometrische Datenstrukturen: Range Tree"

Copied!
29
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Geometrische Datenstrukturen: Range Tree

Elmar Langetepe University of Bonn

Algorithmische Geometrie Geometrische Datenstrukturen 29.04.15 cElmar Langetepe SS ’15 1

(2)

k-dimensionaler Range Tree

Theorem 3.11: Ein k-dimensionaler Bereichsbaum f¨ur n Punkte im IRk kann in Zeit O(n(log n)k−1) mit Platz O(n(log n)k−1)

aufgebaut werden. Eine Bereichsanfrage mit Hyperrechteck q ⊂ IRk kann in Zeit O(a + (log n)k) beantwortet werden. Dabei ist a die Gr¨oße der Antwort.

Beweis: Speicherplatz Punkt p = (x1, x2, . . . , xk)

• Baum T1:

1) Im Baum T1 einmal

2) In max. 2 × log n vielen Intervallen I(vi) von T1

• B¨aume Tvk−1

i , i = 1, . . . , l 1) In Baum Tvk−1

i einmal

2) In max. 2 × log n vielen Intervallen I(wj) von Tvk−1

i

Algorithmische Geometrie Geometrische Datenstrukturen 29.04.15 cElmar Langetepe SS ’15 2

(3)

• Insgesamt: Pk−1

i=0 (log n)i ∈ O((log n)k−1)

• Alle Punkte O(n(log n)k−1)

Algorithmische Geometrie Geometrische Datenstrukturen 29.04.15 cElmar Langetepe SS ’15 3

(4)

k-dimensionaler Range Tree

Theorem 3.11: Ein k-dimensionaler Bereichsbaum f¨ur n Punkte im IRk kann in Zeit O(n(log n)k−1) mit Platz O(n(log n)k−1)

aufgebaut werden. Eine Bereichsanfrage mit Hyperrechteck q ⊂ IRk kann in Zeit O(a + (log n)k) beantwortet werden. Dabei ist a die Gr¨oße der Antwort.

Beweis: Query! q = (I1, I2, . . . , Ik)

• T1: Intervalle I(vi) die I1 aussch¨opfen max. 2 log n viele

• Induktiv: O((log ni)k−1 + ai) f¨ur Tvk−1

i , Ind. Anfang: k = 2 klar, Ind. Schluss: Tk

Bereichsanfrage f¨ur alle Tvk−1

i :

C · log n + P2 log n

i=1 (log ni)k−1 + ai ∈ O((log n)k + a) Punkte in den Intervallen I(vi) disjunkt: P

ai = a

Algorithmische Geometrie Geometrische Datenstrukturen 29.04.15 cElmar Langetepe SS ’15 4

(5)

k-dimensionaler Range Tree

Theorem 3.11: Ein k-dimensionaler Bereichsbaum f¨ur n Punkte im IRk kann in Zeit O(n(log n)k−1) mit Platz O(n(log n)k−1)

aufgebaut werden. Eine Bereichsanfrage mit Hyperrechteck q ⊂ IRk kann in Zeit O(a + (log n)k) beantwortet werden. Dabei ist a die Gr¨oße der Antwort.

Beweis: Aufbau!

Algorithmische Geometrie Geometrische Datenstrukturen 29.04.15 cElmar Langetepe SS ’15 5

(6)

Priorit¨ atssuchbaum

Algorithmische Geometrie Geometrische Datenstrukturen 29.04.15 cElmar Langetepe SS ’15 6

(7)

Priorit¨ atssuchbaum

• Einfache Struktur f¨ur Punkte in der Ebene

Algorithmische Geometrie Geometrische Datenstrukturen 29.04.15 cElmar Langetepe SS ’15 6

(8)

Priorit¨ atssuchbaum

• Einfache Struktur f¨ur Punkte in der Ebene

• Halbstreifenanfrage H = [x1, x2] × (−∞, y]

Algorithmische Geometrie Geometrische Datenstrukturen 29.04.15 cElmar Langetepe SS ’15 6

(9)

Priorit¨ atssuchbaum

• Einfache Struktur f¨ur Punkte in der Ebene

• Halbstreifenanfrage H = [x1, x2] × (−∞, y]

• Finde Punkte aus D in H

Algorithmische Geometrie Geometrische Datenstrukturen 29.04.15 cElmar Langetepe SS ’15 6

(10)

Priorit¨ atssuchbaum

• Einfache Struktur f¨ur Punkte in der Ebene

• Halbstreifenanfrage H = [x1, x2] × (−∞, y]

• Finde Punkte aus D in H

• Platzoptimal und effizient!

Algorithmische Geometrie Geometrische Datenstrukturen 29.04.15 cElmar Langetepe SS ’15 6

(11)

Priorit¨ atssuchbaum

• Einfache Struktur f¨ur Punkte in der Ebene

• Halbstreifenanfrage H = [x1, x2] × (−∞, y]

• Finde Punkte aus D in H

• Platzoptimal und effizient!

• Eindimensionaler Bereichsbaum f¨ur X Koordinaten

Algorithmische Geometrie Geometrische Datenstrukturen 29.04.15 cElmar Langetepe SS ’15 6

(12)

Priorit¨ atssuchbaum

• Einfache Struktur f¨ur Punkte in der Ebene

• Halbstreifenanfrage H = [x1, x2] × (−∞, y]

• Finde Punkte aus D in H

• Platzoptimal und effizient!

• Eindimensionaler Bereichsbaum f¨ur X Koordinaten

• Heap f¨ur Y -Koordinaten

Algorithmische Geometrie Geometrische Datenstrukturen 29.04.15 cElmar Langetepe SS ’15 6

(13)

Priorit¨ atssuchbaum

• Einfache Struktur f¨ur Punkte in der Ebene

• Halbstreifenanfrage H = [x1, x2] × (−∞, y]

• Finde Punkte aus D in H

• Platzoptimal und effizient!

• Eindimensionaler Bereichsbaum f¨ur X Koordinaten

• Heap f¨ur Y -Koordinaten

• 3 Bedingungen

Algorithmische Geometrie Geometrische Datenstrukturen 29.04.15 cElmar Langetepe SS ’15 6

(14)

Bedingungen: Priorit¨ atssuchbaum

Algorithmische Geometrie Geometrische Datenstrukturen 29.04.15 cElmar Langetepe SS ’15 7

(15)

Bedingungen: Priorit¨ atssuchbaum

• 1. Jeder Punkt auf dem Weg zu seiner X-Koordinate

• 2. Punkte entlang des Pfades nach Y -Koordinaten (Heap)

• 3. So nah wie m¨oglich an der Wurzel

Algorithmische Geometrie Geometrische Datenstrukturen 29.04.15 cElmar Langetepe SS ’15 7

(16)

Priorit¨ atssuchbaum Beispiel

Suchbaum f¨ur X-Koordinate, Heap f¨ur Y -Koordinate

Algorithmische Geometrie Geometrische Datenstrukturen 29.04.15 cElmar Langetepe SS ’15 8

(17)

Ergebnis

Algorithmische Geometrie Geometrische Datenstrukturen 29.04.15 cElmar Langetepe SS ’15 9

(18)

Ergebnis

Theorem 3.14 Ein Priorit¨atssuchbaum f¨ur n Punkte in der Ebene kann in Zeit O(n log n) aufgebaut werden. Er ben¨otigt O(n) viel Platz. Eine Halbstreifenanfrage kann in Zeit O(a + log n)

beantwortet werden. Dabei ist a die Gr¨oße der Antwort.

Algorithmische Geometrie Geometrische Datenstrukturen 29.04.15 cElmar Langetepe SS ’15 9

(19)

Ergebnis

Theorem 3.14 Ein Priorit¨atssuchbaum f¨ur n Punkte in der Ebene kann in Zeit O(n log n) aufgebaut werden. Er ben¨otigt O(n) viel Platz. Eine Halbstreifenanfrage kann in Zeit O(a + log n)

beantwortet werden. Dabei ist a die Gr¨oße der Antwort.

Beweis: Geht das immer?, Aufbau, Query!

Algorithmische Geometrie Geometrische Datenstrukturen 29.04.15 cElmar Langetepe SS ’15 9

(20)

Ergebnis

Theorem 3.14 Ein Priorit¨atssuchbaum f¨ur n Punkte in der Ebene kann in Zeit O(n log n) aufgebaut werden. Er ben¨otigt O(n) viel Platz. Eine Halbstreifenanfrage kann in Zeit O(a + log n)

beantwortet werden. Dabei ist a die Gr¨oße der Antwort.

Beweis: Geht das immer?, Aufbau, Query!

• X-sortiertes Skelett, nach aufsteigenden Y -Koordinaten einf¨ugen

• 1. Jeder Punkt auf dem Weg zu seiner X-Koordinate

• 2. Punkte entlang des Pfades nach Y -Koordinaten (Heap)

• 3. So nah wie m¨oglich an der Wurzel

• Induktiv: Wurzel, Teilb¨aume v1, v2

Algorithmische Geometrie Geometrische Datenstrukturen 29.04.15 cElmar Langetepe SS ’15 9

(21)

Priorit¨ atssuchbaum Aufbau, Platz

X-sortiertes Skelett und dann nach aufsteigenden Y -Koordinaten einf¨ugen.

Algorithmische Geometrie Geometrische Datenstrukturen 29.04.15 cElmar Langetepe SS ’15 10

(22)

Priorit¨ atssuchbaum Query

Anfrage: [6.5, 9.5] × [−∞, 7): X-Grenzen und nie zu tief!

Algorithmische Geometrie Geometrische Datenstrukturen 29.04.15 cElmar Langetepe SS ’15 11

(23)

Ergebnis

Algorithmische Geometrie Geometrische Datenstrukturen 29.04.15 cElmar Langetepe SS ’15 12

(24)

Ergebnis

Theorem 3.14 Ein Priorit¨atssuchbaum f¨ur n Punkte in der Ebene kann in Zeit O(n log n) aufgebaut werden. Er ben¨otigt O(n) viel Platz. Eine Halbstreifenanfrage kann in Zeit O(a + log n)

beantwortet werden. Dabei ist a die Gr¨oße der Antwort.

Algorithmische Geometrie Geometrische Datenstrukturen 29.04.15 cElmar Langetepe SS ’15 12

(25)

Ergebnis

Theorem 3.14 Ein Priorit¨atssuchbaum f¨ur n Punkte in der Ebene kann in Zeit O(n log n) aufgebaut werden. Er ben¨otigt O(n) viel Platz. Eine Halbstreifenanfrage kann in Zeit O(a + log n)

beantwortet werden. Dabei ist a die Gr¨oße der Antwort.

Beweis: Query!

Algorithmische Geometrie Geometrische Datenstrukturen 29.04.15 cElmar Langetepe SS ’15 12

(26)

Anwendung Schnittanfrage mit Intervallen

I0

x0 y0

I

x y

(x,y)

(y0,x0) Y

X

Lemma 3.16 Seien I0 = [x0, y0] und I = [x, y] zwei Intervalle, dann gilt: I0 uberlappt mit¨ I ⇐⇒ x ≤ y0 und x0 ≤ y

Algorithmische Geometrie Geometrische Datenstrukturen 29.04.15 cElmar Langetepe SS ’15 13

(27)

Ergebnis Schnittanfrage

Algorithmische Geometrie Geometrische Datenstrukturen 29.04.15 cElmar Langetepe SS ’15 14

(28)

Ergebnis Schnittanfrage

Theorem 3.17 Man kann n Intervalle mit Platz O(n) so abspeichern, dass sich eine ¨Uberlappungsanfrage eines Intervalls I0 in Zeit

O(a + log n) beantworten l¨aßt. Dabei ist a die Gr¨oße der Antwort.

Algorithmische Geometrie Geometrische Datenstrukturen 29.04.15 cElmar Langetepe SS ’15 14

(29)

Ergebnis Schnittanfrage

Theorem 3.17 Man kann n Intervalle mit Platz O(n) so abspeichern, dass sich eine ¨Uberlappungsanfrage eines Intervalls I0 in Zeit

O(a + log n) beantworten l¨aßt. Dabei ist a die Gr¨oße der Antwort.

Intervalle in Punkte ¨ubertragen.

Anfrage mit Viertelebene [x0, ∞) × (−∞, y0].

Algorithmische Geometrie Geometrische Datenstrukturen 29.04.15 cElmar Langetepe SS ’15 14

Referenzen

ÄHNLICHE DOKUMENTE

Bisher sind wir stets von einer gutm¨ utigen Verteilung der Punkte, der sogenannten allgemeinen Lage, ausgegangen, d.h. die Punkte unterschieden sich in ihren x- und y-Koordinaten

Beweisen oder wi- derlegen Sie diese Umkehrung.. c) Sei G eine endliche

Mathematische

Die Summe der letzten beiden Summanden betr¨ agt jedoch 2... Der zweite Summand ist ebenfalls durch

Man zeige weiters die Umkehrung: Sind in einem Viereck beide Paare gegen¨ uberliegender Seiten gleich lang, dann sind gegen¨ uberliegende Seiten auch zueinander parallel.. Sei ABC

Ungleichungen Blatt 2 Raach 2011 Birgit Vera Schmidt 13... Ungleichungen Blatt 3 Raach 2011 Birgit Vera

Ungleichungen Ausarbeitungsbeispiele Raach 2010 Birgit Vera

Ubungen zur Analysis I, WWU M¨ ¨ unster, Mathematisches Institut, WiSe 2015/16P. Halupczok