Trong chƣơng này ta đã khảo sát 4 loại cấu trúc dữ liệu: cây k-d, cây tứ phân điểm, cây tứ phân MX và cây R. Mỗi chúng đều có ƣu điểm và nhƣợc điểm nhất định.
Cây tứ phân điểm rất dễ cài đặt. Tuy nhiên, cây tứ phân điểm có k nút thì có thể có độ cao là k, nhƣ vậy làm tăng độ phức tạp cho chèn và tìm kiếm (nó có thể là O(k)). Hơn nữa mỗi so sánh đòi hỏi so sánh hai tọa độ.Việc xóa nút trong cây loại này là khá khó khăn. vì việc tìm kiếm nút ứng viên thay thế cho nút đang xóa thông thƣờng là không đơn giản. Cuối cùng truy vấn khoảng trong cây này cần O(2n), n là tổng số bản ghi trong cây.
Cây k-d rất dễ cài đặt. Tuy nhiên, cây k-d chứa k nút có thể có độ cao k, do vậy chèn và tìm kiếm có thể phức tạp. Trong thực tế đƣờng dẫn từ gốc tới lá của cây loại này dài hơn trong cây tứ phân điểm bởi vì cây này là cây nhị phân. Độ phức tạp tồi nhất của tìm kiếm dải trong cây k-d là:
k kxn O 1 1 . Khi k=2, thì độ phức tạp
còn O 2 n nhƣ cây tứ phân điểm.
Cây tứ phân MX đảm bảo có độ cao nhất là O(n), trong đó vùng đƣợc biểu diễn có (2nx2n) tế bào. Nói cách khác việc chèn, xóa và tìm kiếm trong cây loại này
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
cần thời gian là O(n). Tìm kiếm dải của cây này rất hiệu quả - O(N+2h), trong đó N là tổng số điểm kết quả truy vấn và h là độ cao của cây.
Tƣơng tự với cây R. Tuy nhiên, cây R có thể có nhiều chữ nhật lƣu trong cùng nút, nó phù hợp với xâm nhập đĩa từ bằng giảm độ cao của cây.
Một bất lợi của cây R là các chữ nhật bao kết hợp với các nút khác nhau có thể phủ lên nhau. Nhƣ vậy, việc tìm kiếm trong cây R thay vì đi theo một vết nhƣ các cây khác, là phải đi theo nhiều vết trong cây. Trƣờng hợp này lại làm tăng số lần thâm nhập đĩa.
Tổng thể, cây R hiệu quả hơn cây k-d và cây tứ phân điểm trong các ứng dụng đòi hỏi dung lƣợng đĩa rất lớn phải xâm nhập. Tuy nhiên nếu chỉ số nhỏ thì sử dụng cây tứ phân MX sẽ hiệu quả hơn.