Tôi đang tìm kiếm các cấu trúc dữ liệu để trả lời các truy vấn lân cận gần nhất trong 3D có hiệu quả về không gian (nghĩa là sử dụng tối đa không gian ) và nhanh ( hoặc thời gian truy vấn trong trường hợp xấu nhất).
Như một bản tóm tắt về những gì tôi đã biết:
1D là tầm thường (chỉ cần sắp xếp các điểm và sử dụng tìm kiếm nhị phân).
2D là một chút phức tạp hơn, nhưng với một vị trí điểm cấu trúc dữ liệu + Voronoi sơ đồ bạn có thể làm điều đó trong không gian và thời gian truy vấn.
Trong 3D trở lên, giải pháp đó bị phá vỡ do sơ đồ Voronoi của một tập hợp các điểm là .
Tôi nhận thức được các kỹ thuật gần đúng dựa trên các phương pháp dựa trên cây hoặc lưới, mặc dù chúng phụ thuộc vào việc giả sử phân phối điểm thống nhất hoặc một cái gì đó về khoảng cách đến hàng xóm gần nhất và không thực hiện tốt trong mọi trường hợp. Tôi không quan tâm đến các giải pháp ngẫu nhiên hoặc gần đúng này - Tôi muốn một cái gì đó hoạt động cho bất kỳ dữ liệu nào được đặt trong trường hợp xấu nhất. Có bất cứ điều gì ngoài đó làm điều này, hoặc có một số ràng buộc thấp hơn mà thổi ý tưởng này ra khỏi nước?