Algorithm 查询最近的范围

Algorithm 查询最近的范围,algorithm,nearest-neighbor,kdtree,Algorithm,Nearest Neighbor,Kdtree,我有两个集合,A和B。集合由N维点组成,并且是有序的(N我相信您只需要在这里使用N个最近邻搜索算法,这是最近邻算法的简单扩展。对集合A中的每个点运行该算法,并最小化总和 算法在(“kd树的入门教程”)中提到。对多个最近邻的扩展只是简单地提到,但应该非常清楚。这篇文章是我成功实现改进算法的文章 可以在此处访问C#中的参考实现,该实现带有注释并包含相关的单元测试。它应该很容易适应您选择的命令式语言。我相信您只需要在此处使用n个最近邻搜索算法,这是最近邻算法的简单扩展。对每个点运行该算法在集合A中,最

我有两个集合,A和B。集合由N维点组成,并且是有序的(N我相信您只需要在这里使用N个最近邻搜索算法,这是最近邻算法的简单扩展。对集合A中的每个点运行该算法,并最小化总和

算法在(“kd树的入门教程”)中提到。对多个最近邻的扩展只是简单地提到,但应该非常清楚。这篇文章是我成功实现改进算法的文章


可以在此处访问C#中的参考实现,该实现带有注释并包含相关的单元测试。它应该很容易适应您选择的命令式语言。

我相信您只需要在此处使用n个最近邻搜索算法,这是最近邻算法的简单扩展。对每个点运行该算法在集合A中,最小化总和

算法在(“kd树的入门教程”)中提到。对多个最近邻的扩展只是简单地提到,但应该非常清楚。这篇文章是我成功实现改进算法的文章


这里可以访问C#中的参考实现,该实现带有注释并包含相关的单元测试。它应该很容易适应您选择的命令式语言。

谢谢您的回答。但问题是返回的点应该是连续的。如果B1的第一个点是b6,那么下一个点应该是b7、b8、b9…TKNN返回的结果不是连续的。连续的?你是什么意思?你显然没有使用这个术语的数学定义,它与εδ无穷小有关。例如,A={a1,a2,a3..am}和B={b1,b2,b3….,bn}。b1是最接近A的范围,它从b3开始。那么b1应该是{b3,b4,b5..b3+m}。B1和A之间的距离是b3->a1,b4->a2,b5->a3…am->b3+m。谢谢你的回答。但问题是返回的点应该是连续的。如果B1的第一个点是b6,接下来的点应该是b7,b8,b9…KNN返回的结果不是连续的。连续的?你是什么意思?你显然没有使用mathema术语的垂直定义,与εδ无穷小有关。例如,A={a1,a2,a3..am}和B={b1,b2,b3..bn}。b1是距离A最近的范围,它从b3开始。然后b1应该是{b3,b4,b5..b3+m}。b1和A之间的距离是b3->a1,b4->a2,b5->a3..am->b3+m。