空间中最近的点集查找有关问题
空间中最近的点集查找问题
小弟最近在设计一个模块,这个模块中一个应用,需求是这样的:
现在有两个空间中的点集
{A} {A1,A2,A3.....}
{B} {B1,B2,B3.....}
算法要求,从B中寻找出与A集合绝对距离最近的点(就是比如离A1最近点B2,离A2最近的点是B5,离A3最近的点是B9....),并写入一个vector
请问有没有性能比较高的算法可以实现呢?
之前的实现方案基本都是一个循环一个个计算路径长度的,看起来很傻的样子
------解决思路----------------------
楼上,要是我有类似的答案我就不贴百度链接蹭分了。
------解决思路----------------------
明摆着必须用循环一个点一个点计算。
问题简化一下,
A:{A1}
B:[B1,B2...Bn]
找出B中距离A1最近的点。
如果你不全盘遍历B中所有的点,是没办法找到结果的,除非提前找到一个跟A1重合的点。
然后再扩展到
A:{A1,A2...An}
A里面的点之间又没有任何关联,那么属于完全独立。
所以两个for嵌套本身就是最优解。
不要纠结了少年
------解决思路----------------------
可以网搜下:“K近邻算法”
小弟最近在设计一个模块,这个模块中一个应用,需求是这样的:
现在有两个空间中的点集
{A} {A1,A2,A3.....}
{B} {B1,B2,B3.....}
算法要求,从B中寻找出与A集合绝对距离最近的点(就是比如离A1最近点B2,离A2最近的点是B5,离A3最近的点是B9....),并写入一个vector
请问有没有性能比较高的算法可以实现呢?
之前的实现方案基本都是一个循环一个个计算路径长度的,看起来很傻的样子
------解决思路----------------------
------解决思路----------------------
明摆着必须用循环一个点一个点计算。
问题简化一下,
A:{A1}
B:[B1,B2...Bn]
找出B中距离A1最近的点。
如果你不全盘遍历B中所有的点,是没办法找到结果的,除非提前找到一个跟A1重合的点。
然后再扩展到
A:{A1,A2...An}
A里面的点之间又没有任何关联,那么属于完全独立。
所以两个for嵌套本身就是最优解。
不要纠结了少年
------解决思路----------------------
可以网搜下:“K近邻算法”