c++ - 是否有可能为 *IN* KD 树中的节点找到 KNN?

标签 c++ machine-learning kdtree knn

尝试使用 KD 树创建 KNN 搜索。我可以很好地形成 KD 树(或者至少,我相信我可以!)。我的问题是我正在寻找距离点列表中每个点最近的 2 个邻居。

那么,有没有一种方法可以使用 KD 树找到一个点的 K 个最近邻居,即使该点实际上在树中,还是我需要为每个点构建一个单独的 KD 树,而忽略该点我想搜索的?

我的实现语言是 C++,但我更想寻找算法或一般帮助,谢谢!

谢谢, 斯蒂芬

最佳答案

如果您想要树中的 K精确 个最近邻,只需查询树中的 K+1 个邻居(很明显,因为第一个最近的邻居将是您的查询)。

关于c++ - 是否有可能为 *IN* KD 树中的节点找到 KNN?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2525087/

相关文章:

c++ - WMI调用方法

python - 对电子邮件的优先级列表进行排名

python - 线性回归 - 意外结果 (Python)

data-structures - KD 树是给定数据集的唯一排序吗?

raytracing - 光线追踪中的快速、无堆栈 kd 树遍历,需要澄清

C++ 模板运行时选择

c++ - 有条件地启用构造函数

image - Vowpal Wabbit 模型在使用像素 RGB 值对图像进行多类分类时表现不佳

python - 为什么 Scipy 的 KDTree 这么慢?

c++ - T() 应该将成员变量初始化为零吗?