2014-04-22 73 views
11

Chcę porównać R-Tree i Quadtree dla danych geoprzestrzennych. Podczas gdy istnieje literatura, walczę o znalezienie dokumentów, które obejmują prawdziwe porównanie podstawowe. Postanowiłem zadać to pytanie.Porównanie R-Tree i Quadtree

Moim zdaniem, R-drzewo ma tę zaletę, że jest zrównoważone, a drzewo nie ma pustych liści. Wadą podstawowej operacji, takiej jak wstawianie lub usuwanie, może być restrukturyzacja całego indeksu.

Quadtree jest przeciwieństwem, nie jest zbalansowane i ma puste liście, ale nie trzeba go ograniczać.

Więc jako fazit z tego chciałbym powiedzieć, że R-drzewo potrzebuje mniej pamięci i jest szybsze do wyszukiwania ze względu na minimalną wysokość. Czwórnik jest lepszy, gdy istnieje wiele operacji aktualizacji, ale wynikowe drzewo może być niezrównoważone.

Czy uważasz, że te punkty są prawidłowe? Czy są jakieś dobre dokumenty, które obejmują ten temat?

Auf Wiedersehen, Andre

+1

„restrukturyzacji całego indeksu”. Nie. Restrukturyzacja jest ograniczona do jednej ścieżki, a nie do "całego" indeksu. Zastanów się nad wdrożeniem i wykonaniem pewnych testów porównawczych, aby naprawdę wiedzieć, jak działają. Nie używaj tylko teorii. –

+1

Istnieje wiele różnych typów drzewek quad, więc zapoznaj się z nimi przed próbą porównania. ponadto niewielka różnica w implementacji może dostarczyć znacznie różnych czasów wykonania (np. passimg obiektu Rectangle vs przekazanie 4 params x, y, width, height). – AlexWien

Odpowiedz

6

"restrukturyzacja całego indeksu". Nie. Restrukturyzacja drzewa R jest ograniczona do pojedynczej ścieżki, a nie do "całego" indeksu. W rzeczywistości działa podobnie do B-drzewa.

Zastanów się nad wdrożeniem i wykonaniem pewnych testów porównawczych, aby naprawdę wiedzieć, jak działają. Nie używaj tylko teorii.

W przypadku równomiernie rozłożonych danych o wysokiej częstotliwości zmian, kwadratury zwykle działają lepiej. Na dysku R-drzewo ma wyraźne zalety.

18

Oto papier, który ma bardzo ładne porównanie QuadTrees i R drzewach

Quadtree and R-tree Indexes in Oracle Spatial: A Comparison using GIS Data

pewne różnice:

  • Quadtrees wymagają dopracowania, wybierając odpowiedni poziom Dachówka w celu optymalizacji wydajności . W przypadku drzew R nie jest wymagane specjalne dostrajanie.
  • Quadtree można zaimplementować na istniejącym B-drzewie. R-Tree -cannot
  • Indeksy Quadtree są tworzone szybciej niż R-drzewa.
  • R-drzewa są znacznie szybsze niż Quadtree dla najbliższych zapytań sąsiadów.
  • R-drzewa są znacznie szybsze niż QuadTree zapytań okiennych, jak „wewnątrz”, „zawiera”, „obejmuje” itd