我有一些点在二维网格上。我想把这些点分成一对一对的组,同时最小化每对点之间欧几里得距离的总和。
例子:
Given the points:
p1: (1,1)
p2: (5,5)
p3: (1,3)
p4: (6,6)
Best solution:
pair1 = (p1,p3), distance = 2
pair2 = (p2,p4), distance = 1
Minimized total distance: 1+2 = 3
我怀疑这个问题可以通过一种变体的匈牙利算法来解决?!
最快的解决方法是什么?
(小备注:我始终应该少于12个点。)