Präsentation herunterladen
Veröffentlicht von:Gisil Schnaidt Geändert vor über 11 Jahren
1
Punkt-in-Polygon-Verfahren III (R/R+-Baum)
Geoinformation III Vorlesung 4 Punkt-in-Polygon-Verfahren III (R/R+-Baum)
2
Übersicht Punkt-in-Polygon-Suche II MBR – minimum bounding rectangle
1 Übersicht Punkt-in-Polygon-Suche II MBR – minimum bounding rectangle Idee Neues laufendes Beispiel Rechtecke Rechtecke mit R-Baum R-Baum R-Baum als B-Baum Der R-Baum als solcher Einfügen in einen R-Baum Strategien zum Spalten eines Knotens Suchen eines Knotens Nachteil des R-Baums Alternative: Der R+-Baum R+-Baum Suche im R+-Baum
3
R-Baum Bisher: Zerlegung der Maschen in Streifen
2 R-Baum Bisher: Zerlegung der Maschen in Streifen Konstruktion einer Suchstruktur Alternatives Vorgehen: Approximation der Maschen durch umschließende achsenparallele Rechtecke Minimal Bounding Rectangle (MBR) Verwaltung der Rechtecke R-Baum R+-Baum
4
MBR – minimum bounding rectangle
3 MBR – minimum bounding rectangle y Außen x A 4x
5
Idee In welcher Masche M liegt der Punkt P?
4 Idee In welcher Masche M liegt der Punkt P? Nutze die Bounding Boxes als Filter Verwende effizientes Verfahren, um alle Rechtecke R1, ... Rn zu finden, die P enthalten Jedem Rechteck Ri entspricht eine Masche Mi Prüfe, ob P in einer der Maschen M1, ... Mn vorkommt Verwende dazu das Standardverfahren Problem: Zugriffsstruktur für Rechtecke Rechtecke sind einfacher zu handhaben als Maschen im allgemeinen A 1x
6
Neues laufendes Beispiel
4 Neues laufendes Beispiel Nur die Rechtecke interessieren uns hier, nicht die zugrundeliegenden Maschen A 1x
7
Rechtecke mit R-Baum B D G J F C I E H A 3 4 1 2 A I E H 5 B C D 6 J F
4x
8
5 Rechtecke mit R-Baum 3 A I 3 A I A 4x
9
5 Rechtecke mit R-Baum 3 A I E H 4 3 A I A 4x
10
Rechtecke mit R-Baum 2 5 B 3 A I I C D E H 4 6 J F G 1 2 3 5 6 A I B C
4x
11
6 R-Baum 2 1 B A A I C 1 2 D J F G E H A 21x
12
6 R-Baum 2 1 B 3 A A I C 1 2 D 3 J F A I G E H A 21x
13
6 R-Baum 2 1 B A A 3 I C 1 2 D 3 4 J E H F A I G 4 E H A 21x
14
6 R-Baum 2 1 5 B A A 3 I C 1 2 D 3 4 5 J F A I E H B C D G 4 E H A 21x
15
R-Baum 2 1 5 B A A 3 I C D 6 J F G 4 E H 1 2 3 4 5 6 A I E H B C D J F
21x
16
R-Baum 2 1 5 B A A 3 I C D J 6 F G 4 E H 1 2 3 4 5 6 A I E H B C D J F
21x
17
7 R-Baum als B-Baum Ein R-Baum ist ein B-Baum mit zusätzlichen Eigenschaften B-Baum Ein B-Baum ist (wie der AVL-Baum) ausgeglichen Besonders gut für Hintergrundspeicher (Festplatte), innere Knoten entsprechen „Kacheln“ des Sekundärspeichers Alle Informationen stehen in den Blättern Alle Blätter haben das gleiche Niveau Alle inneren Knoten außer der Wurzel sind mindestens zur Hälfte gefüllt Teilung beim Überlauf eines inneren Knoten Verteilung auf Nachbarn beim Unterlauf
18
B-Baum Ein kleiner Exkurs:
8 B-Baum Ein kleiner Exkurs: Der B-Baum wurde nach seinem Entwickler R. Bayer benannt. Die Suche eines Elementes in einem B-Baum unterscheidet sich nur wenig von der Suche in anderen Such-Bäumen. Das Einfügen und Entfernen von Elementen ist jedoch an vielen Stellen anders als in Binär-Such-Bäumen.
19
B-Baum Eigenschaften eines B-Baumes der Ordnung n:
9 B-Baum Eigenschaften eines B-Baumes der Ordnung n: Ein B-Baum ist nicht binär Ein B-Baum ist ausgeglichen Alle Blätter haben das gleiche Niveau Jeder Knoten enthält höchstens 2n Elemente Jeder innere Knoten außer der Wurzel enthält mindestens n Elemente Jeder innere Knoten hat m+1 Nachfolgeknoten, wobei m die Anzahl der Schlüssel des inneren Knotens ist Die m Schlüssel eines inneren Knotens werden in aufsteigender Reihenfolge gespeichert: x1 < x2 < ... < x3 Für jeden i-ten Teilbaum Si eines Knotens gilt: Die Schlüssel seiner Knoten sind grösser als xi und kleiner als xi+1 (ganz links und ganz rechts analog) Bei einigen Varianten des B-Baums stehen alle Informationen in den Blättern
20
10 2 9 12 13 15 17 1 23 3 29 48 19 10 37 56 7 B-Baum 56 = ! Alle Knoten bestehen aus 4 Blättern, auch wenn sie im Folgenden nicht dargestellt sind ! A 1x
21
11 Einfügen Einfügen eines Elements mit dem Wert 18 (Idealfall) 2 9 12 13 15 17 1 3 19 10 7 23 29 48 37 56 2 9 12 13 15 17 1 3 19 10 7 23 29 48 37 56 18 > 17 Einfügen 18 < 19 linker Ast 18 > 12 rechter Ast 18 A 26x
22
11 Einfügen Einfügen eines Elements mit dem Wert 14 (Problemfall) 2 9 12 13 15 17 1 3 19 10 7 23 29 48 37 56 18 2 9 12 13 15 17 1 3 19 10 7 23 29 48 37 56 Lösung: Knoten sprengen Problem: Speicher voll 14 > 12 rechter Ast 14 < 19 linker Ast 18 A 26x
23
11 Einfügen Einfügen eines Elements mit dem Wert 14 Bilde zwei neue Zweige Setze das mittlere Element um eine Position nach oben 2 9 12 13 14 15 17 1 3 10 7 19 23 29 48 37 56 15 15 14 18 17 15 18 18 A 26x
24
Entfernen Das Löschen in einem B-Baum gestaltet sich sehr einfach.
12 Entfernen Das Löschen in einem B-Baum gestaltet sich sehr einfach. Wir unterscheiden hier folgende Fälle: Löschen in einem Blatt: Einfaches Löschen 2. Löschen in einem inneren Knoten: Beachte: die Anzahl der Schlüssel der inneren Knoten muss mindestens n sein Wie bei AVL-Bäumen den Eintrag ersetzen durch den Rechtesten Eintrag im linken Unterbaum oder den Linkesten im Rechten. A 5x
25
12 Entfernen Entfernen des Elements mit dem Wert 48 2 9 12 13 15 17 1 3 19 10 7 23 29 48 27 31 37 49 60 Keine n Elemente im Knoten Ersetzen durch den rechtesten Eintrag im linken Unterbaum 37 A 5x
26
13 Der R-Baum als solcher Ein Blattknoten ist ein Paar (R,O), R ist das kleinste Rechteck, welches das Objekt O umschließt Jeder innere Knoten hat n Paare (R,P) P zeigt auf einen Teilbaum R ist das kleinste umschließende Rechteck dieses Teilbaums Beachte Rechtecke können sich überlappen Struktur des R-Baums hängt von Reihenfolge des Einfügens ab Jedes Paar (R,O) kommt genau einmal vor R kann mehrere umschließenden Rechtecke schneiden
27
Einfügen in einen R-Baum
14 Einfügen in einen R-Baum Ausgangspunkt: Einfügen eines neuen Knotens in einen R-Baum Problem hier: an welche Stelle wird (R,O) eingefügt? Durchlaufe den R-Baum mit der Wurzel als Ausgangspunkt Wähle an jedem inneren Knoten den Teilbaum, der durch Einfügen von R minimal vergrößert würde Füge (R,O) schließlich als Blatt ein Beim Überlauf verfahre wie beim B-Baum Besonderheit gegenüber B-Baum: Es gibt keine lineare Ordnung zwischen den Einträgen der Knoten Verschiedene Strategien zum Spalten eines Knotens
28
Minimierung der Gesamtfläche Minimierung des Durchschnitts
15 Strategien zum Spalten eines Knotens Minimierung der Gesamtfläche Minimierung des Durchschnitts A 5x
29
Suchen eines Knotens 2 1 5 B 3 A I C D 6 J F G 4 E H 3 4 1 2 A I E H 5
16 Suchen eines Knotens 2 1 5 B 3 A I C 3 4 1 2 A I E H 5 B C D 6 J F G D 6 J F G 4 In welchem R liegt Q? E H A 13x
30
Suchen eines Knotens 2 1 5 B 3 A I C D 6 J F G 4 E H 3 4 1 2 A I E H 5
16 Suchen eines Knotens 2 1 5 B 3 A I C 3 4 1 2 A I E H 5 B C D 6 J F G D 6 J F G 4 E H A 13x
31
Suchen eines Knotens 2 1 5 B 3 A I C D 6 J F G 4 E H 3 4 1 2 A I E H 5
16 Suchen eines Knotens 2 1 5 B 3 A I C 3 4 1 2 A I E H 5 B C D 6 J F G D 6 J F G 4 E H A 13x
32
Suchen eines Knotens 2 1 5 B 3 A I C D 6 J F G 4 E H 3 4 1 2 A I E H 5
16 Suchen eines Knotens 2 1 5 B 3 A I C 3 4 1 2 A I E H 5 B C D 6 J F G D 6 J F G 4 E H A 13x
33
Suchen eines Knotens 2 1 5 B 3 A I C D 6 J F G 4 E H 3 4 1 2 A I E H 5
16 Suchen eines Knotens 2 1 5 B 3 A I C 3 4 1 2 A I E H 5 B C D 6 J F G D 6 J F G 4 E H A 13x
34
Suchen eines Knotens 2 1 5 B 3 A I C D 6 J F G 4 E H 3 4 1 2 A I E H 5
16 Suchen eines Knotens 2 1 5 B 3 A I C 3 4 1 2 A I E H 5 B C D 6 J F G D 6 J F G 4 E H A 13x
35
17 Nachteil des R-Baums Um das richtige Blatt zu finden, sind meist mehrere Durchläufe erforderlich Dies gilt insbesondere dann, wenn die Suche erfolglos ist Abhilfe: R+-Baum
36
Alternative: Der R+-Baum
18 Alternative: Der R+-Baum Alle inneren Rechtecke sind disjunkt Ein Objekt / umschließendes Rechteck kann in mehreren Blättern vorkommen Jedes Blatt repräsentiert den Teil von (R,O), der von dem Vaterknoten umschlossen wird
37
19 R+-Baum E H A B D G J F C I 1 2 3 4 5 6 7 8 9 A 34x
38
19 R+-Baum 2 1 E H A B D G J F C I 1 2 A 34x
39
19 R+-Baum 2 1 E H A B D G J F C I 4 3 1 2 3 3 4 A E A 34x
40
19 R+-Baum 2 1 E H A B D G J F C I 4 5 1 2 3 3 4 5 A E D E H A 34x
41
R+-Baum 6 2 1 E H A B D G J F C I 4 5 1 2 3 3 4 5 6 A E D E H B D I A
19 R+-Baum 6 2 1 E H A B D G J F C I 4 5 1 2 3 3 4 5 6 A E D E H B D I A 34x
42
R+-Baum 6 2 1 E H A B D G J F C I 7 4 5 1 2 3 3 4 5 6 7 A E D E H B D
19 R+-Baum 6 2 1 E H A B D G J F C I 7 4 5 1 2 3 3 4 5 6 7 A E D E H B D I B C D A 34x
43
R+-Baum 6 2 1 E H A B D G J F C I 4 7 5 1 2 3 3 8 4 5 6 7 8 A E D E H
19 R+-Baum 6 2 1 E H A B D G J F C I 4 7 5 1 2 3 3 8 4 5 6 7 8 A E D E H B D I B C D E G A 34x
44
R+-Baum 6 2 1 E H A B D G J F C I 4 7 5 1 2 3 3 9 4 5 6 7 8 9 8 A E D
19 R+-Baum 6 2 1 E H A B D G J F C I 4 7 5 1 2 3 3 9 4 5 6 7 8 9 8 A E D E H B D I B C D E G F J A 34x
45
R+-Baum 6 2 1 E H A B D G J F C I 4 7 5 1 2 3 3 9 4 5 6 7 8 9 8 A E D
19 R+-Baum 6 2 1 E H A B D G J F C I 4 7 5 1 2 3 3 9 4 5 6 7 8 9 8 A E D E H B D I B C D E G F J A 34x
46
Suche im R+-Baum 6 2 1 E H A B D G J F C I 7 4 5 2 3 1 4 5 A E D H 6 7
20 Suche im R+-Baum 6 2 1 E H A B D G J F C I 7 4 5 2 3 1 4 5 A E D H 6 7 B I C 8 9 G F J 3 9 8 A 6x
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.