Các cấu trúc dữ liệu bạn quan tâm là cây số liệu. Đó là, họ hỗ trợ tìm kiếm hiệu quả trong không gian số liệu. Một không gian số liệu được hình thành bởi một tập hợp các đối tượng và hàm khoảng cách được xác định trong số chúng thỏa mãn bất đẳng thức tam giác. Sau đó, mục tiêu được đưa ra một tập hợp các đối tượng và một thành phần truy vấn, để truy xuất các đối tượng đó đủ gần với truy vấn.
Vì các vấn đề tìm kiếm có nghĩa đen ở mọi nơi trong khoa học máy tính, có một lượng lớn các cây số liệu khác nhau. Tuy nhiên, chúng có thể được chia ít nhất thành hai nhóm: dựa trên trục và phân cụm (và chắc chắn cũng có các giống lai). Một khảo sát tốt là E. Chavez và cộng sự, Tìm kiếm trong Không gian số liệu, 2001 . Xem ví dụ Chương 5: Giải pháp hiện tại cho không gian số liệu, trang 283.
Ô ( nα)0 < α < 1Ô ( n2)Ô ( 1 )
Chavez và cộng sự. cũng cung cấp một cái nhìn tổng quan tốt đẹp về các cây khác, và tự nhiên nhiều tài liệu tham khảo hơn nếu có bất kỳ ai nói riêng làm bạn quan tâm. Trong thực tế, hiệu suất của các cây khác nhau thường được đánh giá bằng thực nghiệm. Điều này tôi nghĩ phụ thuộc rất nhiều vào cấu trúc của không gian. Do đó, thật khó để nói cây nào đặc biệt hiệu quả nhất trong trường hợp của bạn. Tuy nhiên, tôi nghĩ rằng đó là một ý tưởng tốt để đi với người dễ nhất trước tiên. Nếu cây BK là cây dễ xây dựng nhất, hãy thử chúng trước. Nếu họ không đáp ứng yêu cầu của bạn, hãy đầu tư thời gian (và có lẽ là thời gian lập trình) để thu thập thêm thông tin về không gian của bạn có thể giúp bạn đưa ra quyết định sáng suốt hơn.