【发布时间】:2015-08-05 15:49:43
【问题描述】:
我在 2D 问题中有一个最近邻问题,我发现 kd-trees 是最好的解决方案。 我找不到我正在使用的结构的现成实现,所以我决定创建自己的。
我使用的结构是:
struct Point{
int id;
double x;
double y;
};
我有将近100000个点,我的问题是:每次我要划分我的点时如何进行找到中点,以及如何同时定义左右分区?
另一个问题是:有没有更有效的方法? (耗时越少越好)。
【问题讨论】:
-
您是否需要中间点作为最接近均值的点?因为在 2D 系统中 x 和 y 坐标的中点不同。
-
我的意思是将我的所有观点分成两个不同的分区,点数相等(或多或少)。是的,每次都取决于我们使用的是 x 还是 y。
标签: c++ median nearest-neighbor kdtree