EMZETT.
Login

Quadtree und k-d-Baum

Kurz: Quadtree und k-d-Baum teilen den Raum rekursiv in Bereiche, damit man Punkte in der Nähe einer Position schnell findet, ohne alle zu prüfen.

Genauer: Beide sind räumliche Indexstrukturen. Sie beantworten „Welche Punkte liegen in diesem Rechteck?” oder „Welcher Punkt ist am nächsten?” in etwa O(log n) statt O(n).

Im Detail

  • Quadtree: Teilt eine Fläche in vier gleiche Quadranten, die bei Bedarf weiter geteilt werden. Beliebt in Spielen (Kollisionsprüfung), Kartenkacheln und Bildkompression. Die 3D-Variante heißt Octree.
  • k-d-Baum: Ein binärer Baum, der abwechselnd nach einer Koordinate teilt (x, dann y, dann z, …) am Median. Gut für Nächste-Nachbarn-Suche in niedrigen Dimensionen.
  • Grenze: In sehr vielen Dimensionen (etwa 20+) verlieren sie ihren Vorteil („Fluch der Dimensionen”). Dann nutzt man Vektorindizes mit Näherungsverfahren.
  • Verwandt: R-Bäume für Rechtecke (PostGIS), Geohash für Karten.
  • Bewegte Objekte: Müssen aus dem Baum entfernt und neu eingefügt werden, was teuer sein kann.

Siehe auch: Binärsuche