Ü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 Benjamin Niedermann · Übung Algorithmische Geometrie Übersicht Übungsblatt 11 - Quadtrees Benjamin Niedermann · Übung Algorithmische Geometrie Motivation: Meshing von Platinenlayouts Zur Simulation der Hitzeentwicklung auf Platinen kann man die finite Elemente Methode (FEM) einsetzen: zerlege die Platine in kleine homogene Elemente (z.B. Dreiecke) → Mesh eigene Hitzeentwicklung und Einfluss auf Nachbarn je Element bekannt approximiere numerisch die gesamte Hitzeentwicklung der Platine Benjamin Niedermann · Übung Algorithmische Geometrie Motivation: Meshing von Platinenlayouts Zur Simulation der Hitzeentwicklung auf Platinen kann man die finite Elemente Methode (FEM) einsetzen: zerlege die Platine in kleine homogene Elemente (z.B. Dreiecke) → Mesh eigene Hitzeentwicklung und Einfluss auf Nachbarn je Element bekannt approximiere numerisch die gesamte Hitzeentwicklung der Platine Qualitätseigenschaften von FEM: je feiner das Mesh desto besser die Approximation je gröber das Mesh desto schneller die Berechnung je kompakter die Elemente desto schneller die Konvergenz Benjamin Niedermann · Übung Algorithmische Geometrie Motivation: Meshing von Platinenlayouts Zur Simulation der Hitzeentwicklung auf Platinen kann man die finite Elemente Methode (FEM) einsetzen: zerlege die Platine in kleine homogene Elemente (z.B. Dreiecke) → Mesh eigene Hitzeentwicklung und Einfluss auf Nachbarn je Element bekannt approximiere numerisch die gesamte Hitzeentwicklung der Platine Qualitätseigenschaften von FEM: je feiner das Mesh desto besser die Approximation je gröber das Mesh desto schneller die Berechnung je kompakter die Elemente desto schneller die Konvergenz Ziel: adaptive Meshgröße (klein an Materialgrenzen, sonst gröber) wohlgeformte Dreiecke (nicht zu schmal) Benjamin Niedermann · Übung Algorithmische Geometrie Adaptive Dreiecksnetze Geg.: Quadrat Q = [0, U ] × [0, U ] für Zweierpotenz U = 2j mit oktilinearen, ganzzahligen Polygonen im Inneren. Ges.: Dreiecksnetz für Q mit folgenden Eigenschaften Benjamin Niedermann · Übung Algorithmische Geometrie Adaptive Dreiecksnetze Geg.: Quadrat Q = [0, U ] × [0, U ] für Zweierpotenz U = 2j mit oktilinearen, ganzzahligen Polygonen im Inneren. unzulässige Dreiecksknoten Ges.: Dreiecksnetz für Q mit folgenden Eigenschaften keine Dreiecksknoten im Inneren von Dreieckskanten Benjamin Niedermann · Übung Algorithmische Geometrie Adaptive Dreiecksnetze Geg.: Quadrat Q = [0, U ] × [0, U ] für Zweierpotenz U = 2j mit oktilinearen, ganzzahligen Polygonen im Inneren. nicht Teil des Dreiecksnetzes Ges.: Dreiecksnetz für Q mit folgenden Eigenschaften keine Dreiecksknoten im Inneren von Dreieckskanten Eingabekanten müssen Teil des Dreiecksnetzes sein Benjamin Niedermann · Übung Algorithmische Geometrie Adaptive Dreiecksnetze Geg.: Quadrat Q = [0, U ] × [0, U ] für Zweierpotenz U = 2j mit oktilinearen, ganzzahligen Polygonen im Inneren. unzulässige Winkel Ges.: Dreiecksnetz für Q mit folgenden Eigenschaften gültig { keine Dreiecksknoten im Inneren von Dreieckskanten Eingabekanten müssen Teil des Dreiecksnetzes sein Dreieckswinkel zwischen 45◦ und 90◦ Benjamin Niedermann · Übung Algorithmische Geometrie Adaptive Dreiecksnetze Geg.: Quadrat Q = [0, U ] × [0, U ] für Zweierpotenz U = 2j mit oktilinearen, ganzzahligen Polygonen im Inneren. uniformes Dreiecksnetz Ges.: Dreiecksnetz für Q mit folgenden Eigenschaften gültig { keine Dreiecksknoten im Inneren von Dreieckskanten Eingabekanten müssen Teil des Dreiecksnetzes sein Dreieckswinkel zwischen 45◦ und 90◦ adaptiv, d.h. fein an den Polygonkanten, sonst gröber Benjamin Niedermann · Übung Algorithmische Geometrie Adaptive Dreiecksnetze Geg.: Quadrat Q = [0, U ] × [0, U ] für Zweierpotenz U = 2j mit oktilinearen, ganzzahligen Polygonen im Inneren. uniformes Dreiecksnetz Ges.: Dreiecksnetz für Q mit folgenden Eigenschaften gültig { keine Dreiecksknoten im Inneren von Dreieckskanten Eingabekanten müssen Teil des Dreiecksnetzes sein Dreieckswinkel zwischen 45◦ und 90◦ adaptiv, d.h. fein an den Polygonkanten, sonst gröber Kennen wir schon sinnvolle Triangulierungen für Q? Benjamin Niedermann · Übung Algorithmische Geometrie Aufgabe 1 Delaunay Triangulierung ↔ Meshing Meshing aus der Vorlesung liefert ausschließlich Dreiecke die ausschließich nicht-stumpfe Winkel besitzen, d.h., keinen Winkel > 90◦ . Benjamin Niedermann · Übung Algorithmische Geometrie Aufgabe 1 Delaunay Triangulierung ↔ Meshing Meshing aus der Vorlesung liefert ausschließlich Dreiecke die ausschließich nicht-stumpfe Winkel besitzen, d.h., keinen Winkel > 90◦ . Benjamin Niedermann · Übung Algorithmische Geometrie Aufgabe 1 Delaunay Triangulierung ↔ Meshing Meshing aus der Vorlesung liefert ausschließlich Dreiecke die ausschließich nicht-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 eine Delaunay Triangulierung ist. Benjamin Niedermann · Übung Algorithmische Geometrie Charakterisierung Satz über 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 }. VL Satz 4: Sei P eine Menge von Punkten. Punkte p, q, r sind Knoten der gleichen Facette in DG(P ) ⇔ Kreis durch p, q, r ist leer Kante 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. Benjamin Niedermann · Übung Algorithmische Geometrie Der Satz von Thales Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers und eines Halbkreispunktes sind rechtwinklig. a b Satz 20 : Alle Dreiecke aus den Endpunkten einer Sekante VL ` = ab und eines Kreispunktes c auf der gleichen Seite von ` haben den gleichen Winkel an c. Für Dreiecke ∆abd mit d innerhalb des Kreises gilt ∠adb > ∠acd, für e außerhalb des Kreises gilt ∠aeb < ∠acd. c c0 e d a Benjamin Niedermann · Übung Algorithmische Geometrie b ∠aeb < ∠acb = ∠ac0 b < ∠adb Aufgabe 1 Annahme: Es gibt Triangulierung T mit nur nicht-stumpfen Dreiecken, die keine Delaunay-Triangulierung ist. Benjamin Niedermann · Übung 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 enthält. r C m q p z Benjamin Niedermann · Übung 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 enthält. z kann so gewählt werden, dass mit mind. zwei Punkten von ∆ verbunden. r C m q p z Benjamin Niedermann · Übung 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 enthält. z kann so gewählt werden, dass mit mind. zwei Punkten von ∆ verbunden. 1. Fall: z liegt außerhalb von ∆ O.B.d.A. sei z mit p und q verbunden. r C m q p z Benjamin Niedermann · Übung 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 enthält. z kann so gewählt werden, dass mit mind. zwei Punkten von ∆ verbunden. 1. Fall: z liegt außerhalb von ∆ O.B.d.A. sei z mit p und q verbunden. Sei C 0 Kreis durch p und q Mittelpunkt m0 auf Hälfte von pq r C m q m0 p z C0 Benjamin Niedermann · Übung 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 enthält. z kann so gewählt werden, dass mit mind. zwei Punkten von ∆ verbunden. 1. Fall: z liegt außerhalb von ∆ O.B.d.A. sei z mit p und q verbunden. r Sei C 0 Kreis durch p und q Mittelpunkt m0 auf Hälfte von pq C Nach Satz 2’ liegt r nicht im Inneren von C 0 Da z in C liegt, muss z auch in C 0 liegen. m q m0 p z C0 Benjamin Niedermann · Übung 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 enthält. z kann so gewählt werden, dass mit mind. zwei Punkten von ∆ verbunden. 1. Fall: z liegt außerhalb von ∆ O.B.d.A. sei z mit p und q verbunden. r Sei C 0 Kreis durch p und q Mittelpunkt m0 auf Hälfte von pq C Nach Satz 2’ liegt r nicht im Inneren von C 0 Da z in C liegt, muss z auch in C 0 liegen. m q ◦ Nach Satz 2’ ist Winkel an z größer 90 m0 p z C0 Benjamin Niedermann · Übung 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 enthält. z kann so gewählt werden, dass mit mind. zwei Punkten von ∆ verbunden. 1. Fall: z liegt außerhalb von ∆ O.B.d.A. sei z mit p und q verbunden. r Sei C 0 Kreis durch p und q Mittelpunkt m0 auf Hälfte von pq C Nach Satz 2’ liegt r nicht im Inneren von C 0 Da z in C liegt, muss z auch in C 0 liegen. m q ◦ Nach Satz 2’ ist Winkel an z größer 90 2. Fall: z liegt innerhalb von ∆ Ähnliche Argumentation. Benjamin Niedermann · Übung Algorithmische Geometrie m0 p z C0 Quadtrees Def.: Ein Quadtree ist ein Wurzelbaum, in dem jeder innere Knoten vier Kinder hat. Jeder Knoten entspricht einem Quadrat und die Quadrate der Blätter bilden eine Unterteilung des Wurzelquadrats. NO Benjamin Niedermann · Übung Algorithmische Geometrie NW SW SO Quadtrees Def.: Ein Quadtree ist ein Wurzelbaum, in dem jeder innere Knoten vier Kinder hat. Jeder Knoten entspricht einem Quadrat und die Quadrate der Blätter bilden eine Unterteilung des Wurzelquadrats. Seiten Kanten NO Ecken Nachbarn Benjamin Niedermann · Übung Algorithmische Geometrie NW SW SO Quadtrees Def.: Ein Quadtree ist ein Wurzelbaum, in dem jeder innere Knoten vier Kinder hat. Jeder Knoten entspricht einem Quadrat und die Quadrate der Blätter bilden eine Unterteilung des Wurzelquadrats. Def.: Für eine Punktmenge P in einem Quadrat 0 Q = [xQ , x0Q ] × [yQ , yQ ] gilt für den Quadtree T (P ) ist |P | ≤ 1, so ist T (P ) ein Blatt, das P und Q speichert xQ +x0Q 2 0 yQ +yQ 2 sonst sei xmid = und ymid = und PN O := {p ∈ P | px > xmid and py > ymid } PN W := {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 vier Kindern für Pi und Qi (i ∈ {N O, N W, SW, SO}). Benjamin Niedermann · Übung Algorithmische Geometrie Beispiel Benjamin Niedermann · Übung Algorithmische Geometrie Beispiel Benjamin Niedermann · Übung Algorithmische Geometrie Beispiel Benjamin Niedermann · Übung Algorithmische Geometrie Beispiel Benjamin Niedermann · Übung Algorithmische Geometrie Beispiel Benjamin Niedermann · Übung Algorithmische Geometrie Beispiel Benjamin Niedermann · Übung Algorithmische Geometrie Quadtree Eigenschaften Die rekursive Definition eines Quadtrees lässt sich direkt in einen Algorithmus zur Konstruktion umsetzen. Welche Tiefe hat ein Quadtree für n Punkte? Lemma 1: Die Tiefe von T (P ) ist höchstens log(s/c) + 3/2, wobei c der kleinste Abstand in P ist und s die Seitenlänge des Wurzelquadrats Q. Satz 1: Ein Quadtree T (P ) für n Punkte und mit Tiefe d hat O((d + 1)n) Knoten und kann in O((d + 1)n) Zeit konstruiert werden. Benjamin Niedermann · Übung Algorithmische Geometrie Aufgabe 2 Komprimierte Quadtrees Benjamin Niedermann · Übung Algorithmische Geometrie Aufgabe 2 Komprimierte Quadtrees NO Benjamin Niedermann · Übung Algorithmische Geometrie NW SW SO Aufgabe 2 Komprimierte Quadtrees NO Benjamin Niedermann · Übung Algorithmische Geometrie NW SW SO Aufgabe 2 Komprimierte Quadtrees NO Benjamin Niedermann · Übung Algorithmische Geometrie NW SW SO Aufgabe 2 Komprimierte Quadtrees NO Benjamin Niedermann · Übung Algorithmische Geometrie NW SW SO Aufgabe 2 Komprimierte Quadtrees NO Benjamin Niedermann · Übung Algorithmische Geometrie NW SW SO Aufgabe 2 Komprimierte Quadtrees NO Benjamin Niedermann · Übung Algorithmische Geometrie NW SW SO Aufgabe 2 Komprimierte Quadtrees NO NW SW Anzahl der Knoten jetzt O(n) (statt O((d + 1)n)) Laufzeit für Umwandlung? Aufwand für Konstruktion verringern? Benjamin Niedermann · Übung Algorithmische Geometrie SO Aufgabe 3 Balancierte Quadtrees Benjamin Niedermann · Übung Algorithmische Geometrie Balancierte Quadtrees Def.: Ein Quadtree heißt balanciert, wenn die Seitenlänge von je zwei Nachbarquadraten in der zugeh. Unterteilung sich um einen Faktor von höchstens 2 unterscheidet. VL Benjamin Niedermann · Übung Algorithmische Geometrie Quadtrees balancieren BalanceQuadtree(T ) Input: Quadtree T Output: balancierter Quadtree T L ← Liste aller Blätter von T ; while L nicht leer do µ ← extrahiere Blatt aus L; if µ.Q zu groß then Teile µ.Q in vier Teile und lege vier Blätter in T an; füge neue Blätter zu L hinzu; if µ.Q hat jetzt zu große Nachbarn then füge sie zu L hinzu; return T Satz 3: Sei T ein Quadtree mit m Knoten und Tiefe d. Die balancierte Version TB von T hat O(m) Knoten und kann in O((d + 1)m) Zeit konstruiert werden. Benjamin Niedermann · Übung Algorithmische Geometrie Aufgabe 3 Balancierte Quadtrees Abänderung: Alle Rechtecke gleich groß Benjamin Niedermann · Übung Algorithmische Geometrie Aufgabe 3 Balancierte Quadtrees Abänderung: Alle Rechtecke gleich groß Frage: Wie viele Blätter? Benjamin Niedermann · Übung Algorithmische Geometrie Wiederholung: Bereichsanfrage Szenario: großer Straßengraph zeige nur einen kleinen Ausschnitt Problem: Bereichsanfrage Gegeben eine Punktmenge P (die Knoten in dem Straßengraph) sowie ein Rechteck R, finde alle Punkte aus P die in R liegen. Einfache Lösung: Teste für jeden Punkt p ∈ P , ob p in R liegt. ⇒ Laufzeit O(|P |), dabei werden ggf. sehr viel weniger Punkte angezeigt. Benjamin Niedermann · Übung Algorithmische Geometrie Aufgabe 4 Quadtrees für Range Queries? Wie kann man Quadtrees für Bereichsanfragen nutzen? Benjamin Niedermann · Übung Algorithmische Geometrie Bereichsabfrage in einem kd-Tree p4 p5 p12 p8 p2 p1 p3 p7 p10 p9 p6 p3 p4 p5 p1 p2 p13 p11 p11 p12 p13 p6 p7 p8 p9 p10 Benjamin Niedermann · Übung Algorithmische Geometrie SearchKdTree(v, R) if v Blatt then prüfe Punkt p in v auf p ∈ R; else if region(lc(v)) ⊆ R then L V ReportSubtree(lc(v)); else if region(lc(v)) ∩R 6= ∅ then SearchKdTree(lc(v), R); if region(rc(v)) ⊆ R then ReportSubtree(rc(v)); else if region(rc(v)) ∩R 6= ∅ then SearchKdTree(rc(v), R); Bereichsabfrage PNW PNO PSW PSO R Benjamin Niedermann · Übung Algorithmische Geometrie Bereichsabfrage PNW PNO PSW PSO R Starte mit der Wurzel Benjamin Niedermann · Übung Algorithmische Geometrie Bereichsabfrage PNW PNO PSW PSO R Starte mit der Wurzel → Rekursionsaufruf für alle vier Kinder Benjamin Niedermann · Übung Algorithmische Geometrie Bereichsabfrage PNW PNO PSW PSO R Starte mit der Wurzel → Rekursionsaufruf für alle vier Kinder → Süd-Ost-Knoten: vorzeitiger Abbruch und Ausgabe der enthaltenen Punkte Benjamin Niedermann · Übung Algorithmische Geometrie Bereichsabfrage PNW PNO PSW PSO R Starte mit der Wurzel → Rekursionsaufruf für alle vier Kinder → Süd-Ost-Knoten: vorzeitiger Abbruch und Ausgabe der enthaltenen Punkte → Süd-West-Knoten: Rekursionsaufruf für zwei Kinder → Nord-West-Knoten: Rekursionsaufruf für ein Kind Benjamin Niedermann · Übung Algorithmische Geometrie Bereichsabfrage PNW PNO PSW PSO R Starte mit der Wurzel → Rekursionsaufruf für alle vier Kinder → Süd-Ost-Knoten: vorzeitiger Abbruch und Ausgabe der enthaltenen Punkte → Süd-West-Knoten: Rekursionsaufruf für zwei Kinder → Nord-West-Knoten: Rekursionsaufruf für ein Kind → Rekursionsende (Blätter erreicht): gib resultierende Knoten aus Benjamin Niedermann · Übung Algorithmische Geometrie Bereichsabfrage PNW PNO PSW PSO R Wie geht das schnell? Starte mit der Wurzel → Rekursionsaufruf für alle vier Kinder → Süd-Ost-Knoten: vorzeitiger Abbruch und Ausgabe der enthaltenen Punkte → Süd-West-Knoten: Rekursionsaufruf für zwei Kinder → Nord-West-Knoten: Rekursionsaufruf für ein Kind → Rekursionsende (Blätter erreicht): gib resultierende Knoten aus Benjamin Niedermann · Übung Algorithmische Geometrie Problem 3(b) Gegeben: gewurzelter Baum T bis zu ein Punkt in jedem Blatt von T ein Knoten v in T Gesucht: Punkte aller Nachfolgern von v Benjamin Niedermann · Übung Algorithmische Geometrie v Problem 3(b) Gegeben: gewurzelter Baum T bis zu ein Punkt in jedem Blatt von T ein Knoten v in T Gesucht: Punkte aller Nachfolgern von v Ansatz traversiere Teilbaum Tv Benjamin Niedermann · Übung Algorithmische Geometrie Tv v Laufzeit O(|Tv |) Speicher Vorverarbeitungszeit × × Problem 3(b) Gegeben: gewurzelter Baum T bis zu ein Punkt in jedem Blatt von T ein Knoten v in T Gesucht: Punkte aller Nachfolgern von v Ansatz traversiere Teilbaum Tv speichere alle nachfolgenden Punkte Benjamin Niedermann · Übung Algorithmische Geometrie Tv v Laufzeit O(|Tv |) Speicher Vorverarbeitungszeit × × Problem 3(b) Gegeben: gewurzelter Baum T bis zu ein Punkt in jedem Blatt von T ein Knoten v in T Gesucht: Punkte aller Nachfolgern von v v Ansatz traversiere Teilbaum Tv Laufzeit speichere alle nachfolgenden Punkte O(k) Benjamin Niedermann · Übung Algorithmische Geometrie Tv O(|Tv |) Speicher Vorverarbeitungszeit × × O(d · |P |) (k = Anzahl gefundener Punkte) O(d · |P |) Problem 3(b) Gegeben: gewurzelter Baum T bis zu ein Punkt in jedem Blatt von T ein Knoten v in T Gesucht: Punkte aller Nachfolgern von v v Ansatz traversiere Teilbaum Tv Laufzeit speichere alle nachfolgenden Punkte O(k) speichere Start und Ende in Punktliste Benjamin Niedermann · Übung Algorithmische Geometrie Tv O(|Tv |) Speicher Vorverarbeitungszeit × × O(d · |P |) (k = Anzahl gefundener Punkte) O(d · |P |) Problem 3(b) Gegeben: gewurzelter Baum T bis zu ein Punkt in jedem Blatt von T ein Knoten v in T Tv Gesucht: Punkte aller Nachfolgern von v v Ansatz traversiere Teilbaum Tv Laufzeit speichere alle nachfolgenden Punkte O(k) speichere Start und Ende in Punktliste Benjamin Niedermann · Übung Algorithmische Geometrie O(|Tv |) Speicher Vorverarbeitungszeit × × O(d · |P |) O(d · |P |) (k = Anzahl gefundener Punkte) O(k) O(|T |) O(|T |) Aufgabe 4 Quadtrees für Range Queries? Welchen Aufwand hat das Verfahren? Benjamin Niedermann · Übung Algorithmische Geometrie Aufgabe 4 Quadtrees für Range Queries? Welchen Aufwand hat das Verfahren? Benjamin Niedermann · Übung Algorithmische Geometrie Aufgabe 4 Quadtrees für Range Queries? Welchen Aufwand hat das Verfahren? Benjamin Niedermann · Übung Algorithmische Geometrie Aufgabe 4 Quadtrees für Range Queries? Welchen Aufwand hat das Verfahren? Benjamin Niedermann · Übung Algorithmische Geometrie Aufgabe 4 Quadtrees für Range Queries? Welchen Aufwand hat das Verfahren? Benjamin Niedermann · Übung Algorithmische Geometrie Aufgabe 4 Quadtrees für Range Queries? Welchen Aufwand hat das Verfahren? Benjamin Niedermann · Übung Algorithmische Geometrie Aufgabe 4 Quadtrees für Range Queries? Welchen Aufwand hat das Verfahren? Benjamin Niedermann · Übung Algorithmische Geometrie Aufgabe 4 Was, wenn Anfragebereich eine durch eine vertikale Gerade begrenzte Halbebene ist? Benjamin Niedermann · Übung Algorithmische Geometrie Aufgabe 4 Was, wenn Anfragebereich eine durch eine vertikale Gerade begrenzte Halbebene ist? Benjamin Niedermann · Übung Algorithmische Geometrie