[英]Best match between two sets of points
我已经有了点两份清单,我们姑且称之为大号1(P 1(X 1,Y 1),... P N(X N,Y N))和L 2(P '1(X' 1, Y '1),... P' N(X 'N,Y' N))。
我的任务是找到两个点之间的最佳匹配,以最小化它们的距离之和。
关于某种算法有什么线索吗? 这两个列表包含大约。 200-300点。
谢谢,最好的。
如果您的问题的用例涉及将列表L 1中存在的点与列表L 2中的点进行匹配,那么匈牙利算法将是一个完美的选择。
与您的匈牙利矩阵对应的权重将是为行注释的点与列注释的点之间的距离。 优化的匈牙利算法的整体运行时间为O(n 3 ),可以轻松满足您给定的n = 300
约束
https://www.topcoder.com/cn/community/competitive-programming/tutorials/assignment-problem-and-hungarian-algorithm/是一个涵盖匈牙利算法的思想和实现的非常不错的教程
如果不是匈牙利算法,您还可以将给定问题变成max-flow-min-cost
问题-我现在将省略其详细信息,但可以根据需要进行讨论。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.