Zum Hauptinhalt springen

Kapitel 4 – Bereichssuche

Folien: 📄 04-rangesearch.pdf · Praktikumsaufgabe 3 (2d-Bäume)

Gegeben ist eine feste Punktmenge, auf die viele Anfragen kommen: „Welche Punkte liegen in diesem achsenparallelen Rechteck?“ Dafür baut man einmal eine Datenstruktur (Vorverarbeitung) und beantwortet dann jede Anfrage schnell.

Das Kapitel ist ein Lehrstück für den Tausch Speicher gegen Anfragezeit:

StrukturSpeicherAnfrage (2d)
alle Punkte testenO(n)O(n)O(n)O(n)
kd-BaumO(n)O(n)O(n+R)O(\sqrt n + R)
Range-TreeO(nlog⁡n)O(n\log n)O(log⁡2n+R)O(\log^2 n + R)

RR = Anzahl der Punkte im Anfragebereich (Ausgabegröße).

Aufbau​

AbschnittInhalt
4.1–4.2 Problem & AnsätzeDatenbank-Beispiel, naiv, Gitter, BSP-Bäume
4.3 kd-BäumeAufbau am Median, Bereichssuche, O(n+R)O(\sqrt n + R)
4.4 Range-Trees1d-Bereichssuche, kanonische Teilmengen, assoziierte Strukturen, Vergleich