我有大约 8000 万个空间点(3D),我想找到查询点的所有最近邻居,它们位于以查询点为中心的特定半径的球体(可以作为输入)下。
我已经阅读了一些用于此类搜索的数据结构,例如 Kd 树、八叉树或范围树。对于我的应用程序,我只需要填充一次数据结构,然后搜索多个查询点。
我的问题是:
- 在这种情况下,有没有比 Kd-trees 更好的方法或更好的数据结构?
- 使用 kd 树,我将不得不多次找到如此大数据集的中值,这可能需要大量时间来填充树。
我对这些数据结构中的任何一个都不太了解,所以请您参考一些有关您可能推荐的任何解决方案的教程。我知道这个问题似乎重复了,但从我发现和阅读的所有问题来看,没有人使用这么多的点。