基于最近距离配对两组物体的最有效方法?

时间:2017-01-16 16:22:41

标签: sorting c++11

enter image description here

假设我有上面两组对象(A类和B类)...我怎样才能有效地将集合A中的对象与集合B中最近的唯一对象配对不接近任何其他集合A对象。

两组中的对象都使用2D向量来表示它们的位置。

1 个答案:

答案 0 :(得分:0)

通过接近度排列2D列表的一种方案涉及Peano对条目进行编码,这基本上相当于将n比特的每个(x,y)坐标完美地比特混合成单个交织的2n比特值。 (我第一次了解这个关于美国人口普查局地图和1984年TIGER数据的计划。)

Ex:(x,y)=(0x4,0xB)=(0_1_0_0,_1_1_0_1),      那么Peano(x,y)是01110001 = 71。

此位混洗会产生一个数字列表,这些数字在排序时表示沿单个数字线的2D接近度。很容易证明,对于Peano值A,B,C,A< B< C暗示B位于由A和C界定的2-D矩形中。

只是一个想法,可能根本不是你需要的。祝你好运。