空间点上的最小图

时间:2009-08-11 13:56:20

标签: algorithm 3d knn

我有一组三维点。我想快速查询任何这些点的k个最近邻居。我知道这样做的常用方法是oct-tree,但我认为使用下面描述的数据结构,查询会更快。


我希望点上的最小图形为顶点,它具有以下属性:

在任意2个点P1,P2之间:存在所有内部点P3的路径:

距离(P1,P3)< =距离(P1,P2)。


我的问题是我无法弄清楚如何在经济实惠的时间内计算这个最小图。

3 个答案:

答案 0 :(得分:0)

那是因为没有银弹。

您可以执行相对较慢的查询,无需先前的计算或具有大量先前计算和后备数据结构的快速查询。由你来决定。

答案 1 :(得分:0)

听起来你要求的只是距离另一点一定距离的点数。 d(P1,P2)只是一个数字,因此P1距离内的所有点都符合您的标准。

如果您需要多次从多个起点运行搜索,那么您应该查看标准数据结构,如kd树。如果你只执行一次,那么迭代所有点可能是你最好的选择。

您的想法是什么?

答案 2 :(得分:0)