2014-04-22 63 views
11

Tôi muốn so sánh R-Tree và Quadtree cho dữ liệu không gian địa lý. Trong khi có tài liệu ra khỏi đó tôi đấu tranh để tìm tài liệu bao gồm so sánh cơ bản thực sự. Vì vậy, tôi quyết định đặt câu hỏi này.So sánh R-Tree và Quadtree

Theo tôi, R-Tree có ưu điểm là cân bằng và cây không có lá trống. Như một bất lợi, thao tác cơ bản như chèn hoặc xóa có thể dẫn đến việc khôi phục toàn bộ chỉ mục.

Quadtree là đối diện, nó không cân bằng và có lá trống, nhưng nó không cần phải được restrctured.

Vì vậy, như một fazit từ đó tôi sẽ nói rằng R-Tree không cần ít bộ nhớ và nhanh hơn để tìm kiếm vì chiều cao tối thiểu. Quadtree tốt hơn khi có nhiều hoạt động cập nhật, nhưng cây kết quả có thể không cân bằng.

Các điểm này có chính xác theo ý kiến ​​của bạn không? Có bất kỳ tài liệu hay nào ở ngoài đề cập đến chủ đề này không?

Auf Wiedersehen, Andre

+1

"tái cơ cấu toàn bộ chỉ số". Không. Tái cơ cấu bị hạn chế đối với một đường dẫn duy nhất, không phải là chỉ mục "toàn bộ". Cân nhắc việc triển khai cả hai và tự mình thực hiện một số tiêu chí chuẩn để thực sự biết cách chúng hoạt động. Không chỉ sử dụng lý thuyết. –

+1

có nhiều loại cây quad khác nhau, vì vậy hãy biết hầu hết chúng trước khi cố gắng so sánh. thêm một sự thay đổi nhỏ trong việc thực hiện có thể cung cấp nhiều thời gian thực hiện khác nhau (ví dụ: passimg một đối tượng hình chữ nhật và truyền 4 tham số x, y, chiều rộng, chiều cao). – AlexWien

Trả lời

6

"cơ cấu lại toàn bộ chỉ mục". Không. Tái cơ cấu cây R bị giới hạn ở một đường đơn, không phải chỉ mục "toàn bộ". Nó hoạt động tương tự như B-tree, thực sự.

Cân nhắc triển khai cả hai và thực hiện một số tiêu chí chuẩn để thực sự biết cách chúng hoạt động. Không chỉ sử dụng lý thuyết.

Trên dữ liệu được phân phối đồng đều với tần suất thay đổi cao, quadtrees thường hoạt động tốt hơn. Trên đĩa, cây R có lợi thế rõ ràng.

18

Dưới đây là giấy trong đó có sự so sánh khá tốt đẹp của QuadTrees và Cây R:

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

Một số khác biệt:

  • Quadtrees đòi hỏi tinh chỉnh bằng cách chọn mức ốp lát phù hợp để tối ưu hóa hiệu suất . Không có điều chỉnh cụ thể là cần thiết cho R-Trees.
  • Quadtree có thể được triển khai trên đỉnh cây B hiện có. R-Tree -cannot
  • Chỉ mục Quadtree được tạo nhanh hơn R-tree.
  • Cây R nhanh hơn nhiều so với Quadtree đối với các truy vấn lân cận gần nhất.
  • R-cây nhanh hơn đáng kể so với quadtree cho các truy vấn cửa sổ, giống như "bên trong", "chứa", "bao gồm" vv