我正在尝试找到一种快速算法,在一个二维空间中查找给定点的(近似)最近邻居,其中数据集中经常删除点并添加新点。
(相关地,我感兴趣的是这个问题的两个变体:一个是可以认为点是随机添加和删除的,另一个是所有点都在不断运动。)
一些想法:
- kd树提供良好的性能,但只适用于静态点集 - R * -trees似乎为各种维度提供了良好的性能,但其设计的普遍性(任意维度,通用内容几何)暗示着可能会有更具体的算法提供性能优势 - 最好使用现有实现的算法(尽管这不是必要的)
什么是一个好的选择?
(相关地,我感兴趣的是这个问题的两个变体:一个是可以认为点是随机添加和删除的,另一个是所有点都在不断运动。)
一些想法:
- kd树提供良好的性能,但只适用于静态点集 - R * -trees似乎为各种维度提供了良好的性能,但其设计的普遍性(任意维度,通用内容几何)暗示着可能会有更具体的算法提供性能优势 - 最好使用现有实现的算法(尽管这不是必要的)
什么是一个好的选择?