Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
1
Der k-d-Baum Richard Göbel
2
Eigenschaften des k-d-Baums
Binären Baum Jeder innere Knoten teilt die Punktmenge bezüglich des Wertes einer Dimension Es existieren verschiedene Arten des k-d-Baums
3
Beispielmenge von Punkten
4
k-d-Baum für die Beispielmenge
5
Klassischer k-d-Baum Jeder Knoten enthält genau einen Punkt Die Dimension wechseln sich für die Ebenen des Baumes nach einer Vorgabe ab (z.B. 1, 2, . . ., d, 1, 2, . . ., d, . . .) In Abhängigkeit von der Reihenfolge der Punkte beim Einfügen ergibt sich kein balancierter Baum Was ist hier der ungünstigste Fall? Eine lokale Reorganisation des Baumes ist im Allgemeinen nicht möglich!
6
Adaptiver k-d-Baum Annahme: Die Menge der Punkte ist vollständig bekannt. Jeder innere Knoten enthält den Wert einer Dimension als Aufteilungswert (nicht zwingend Wert eines Punktes) Die Dimension für einen Knoten kann beliebig gewählt werden
7
Erzeugung eines balancierten k-d-Baums
5 10 15
8
Beispiel für einen adaptiven k-d-Baum
9
Probleme bei der Aufteilung einer Menge
10
Lösungansätze zur Aufteilung
Veränderung der Werte durch Addition sehr kleiner Zahlen, Erzeugung der Originalwerte durch Rundung Punkte, deren Wert identisch mit dem Aufteilungswert ist, können beliebig zugeordnet werden. Verwendung anderer Regionen als Hyperquader: Beispiel Binary Space Partitioning Tree
11
Algorithmen für k-d-Bäume
Einfügen: einfach Löschen: problematisch (lokale Reorganisation) Suchen: über universellen Ansatz möglich Vergleiche die Region der Suchbedingung mit der Region eines Knotens Setze das Suchverfahren an Knoten fort, deren Region sich mit der Suchregion überlappt
12
Bestimmung der Hyperquader für alle Knoten
Der Wurzel des k-d-Baums wird für jede Dimension ein Bereich zugeordnet, der alle Werte enthält (-,+). Nachfolger eines Knotens: übernehme den Bereich des Elternknotens Setze für das linke Kind die Obergrenze des zugehörigen Werts auf den Aufteilungswert Setze für das rechte Kind die Untergrenze des zugehörigen Werts auf den Aufteilungswert.
13
Beispiel für die Bestimmung der Regionen
6,10 3,7 12,14 9,4 4,13 2,2 13,11 3,6 7,9 <[-,+], [-,+]> <[-,7], [-,+]> <[7,+], [-,+]> <[-,7], [-,6]> <[-,7], [6,+]> <[7,+], [-,11]> <[7,+], [11,+]> <[-,4], [6,+]> <[4,7], [6,+]>
14
Zeitkomplexität für dieses Verfahren
Einfügen: Tiefe des Baumes Löschen: im schlechtesten Fall linear? Mehrdimensionale Bereichssuche:
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.