Cho một không gian liên tục (euclide) k có chiều dài di chuyển/tăng trưởng/thu hẹp không thể đoán trước được Tôi cần phải lặp lại tìm các hypersphere có bề mặt gần nhất đã cho phối hợp. Nếu một số hyperspheres có cùng khoảng cách với tọa độ của tôi, thì quả cầu lớn nhất sẽ thắng. (Tổng số hyperspheres được đảm bảo duy trì như nhau theo thời gian.)Cấu trúc dữ liệu không gian nhanh cho tìm kiếm lân cận gần nhất giữa các mặt cầu không đồng đều
Suy nghĩ đầu tiên của tôi là sử dụng KDTree nhưng nó sẽ không tính đến khối lượng không đồng đều của hyperspheres. Vì vậy, tôi đã nhìn xa hơn và tìm thấy BVH (Phân cấp khối lượng bị ràng buộc) và BIH (Phân cấp khoảng thời gian bị ràng buộc), có vẻ như là lừa. Ít nhất trong không gian 2/3 chiều. Tuy nhiên trong khi tìm kiếm khá nhiều thông tin và hình dung trên BVHs tôi hầu như không thể tìm thấy bất cứ điều gì trên BIHs.
yêu cầu cơ bản của tôi là một k chiều cấu trúc dữ liệu không gian mà mất khối lượng vào tài khoản và là một trong hai siêu nhanh để xây dựng (off-line) hoặc động với hầu như không mất thăng bằng.
Với các yêu cầu của tôi ở trên, bạn sẽ đi đến cấu trúc dữ liệu nào? Bất kỳ người nào khác mà tôi thậm chí không đề cập đến?
Chỉnh sửa 1: Quên đề cập: cho phép các trình tạo hậu quả (chồng lên nhau)
Chỉnh sửa 2: Có vẻ như thay vì "khoảng cách" (và "khoảng cách phủ định" cụ thể) chỉ số được mô tả của tôi khớp với số power of a point tốt hơn nhiều.
Vì tính toán khoảng cách của một điểm đến một mặt dưới là tầm thường (ngay cả khi O (k), nhưng tất cả mọi thứ trong k-space), bạn có bao nhiêu hyperspheres nói chung? Tất nhiên các cơ sở hạ tầng phải trả tiền, so với một danh sách tuyến tính đơn giản của hyperspheres. Câu hỏi hay. –
Số lượng các hyperspheres có thể là 8 (trong trường hợp này tôi có thể chỉ cần đi với brute-lực lượng, hoặc trong hàng ngàn, hoặc thậm chí hàng trăm ngàn, tùy thuộc vào kích thước của tập dữ liệu, mà tại thời điểm này tôi không thể thấy trước. m hiện đang làm brute-force và nó là painstackingly chậm – Regexident
Là số lượng hyperspheres thay đổi như chương trình của bạn thực hiện? Và, để làm rõ, khi bạn viết 'một phối hợp nhất định' tôi hy vọng rằng bạn có nghĩa là bạn muốn có một chức năng mà, cho Đó là, tọa độ đã cho không được cố định trong suốt thời gian của chương trình? –