1
3
即使在无圈图的情况下,您的方法也不能保证提供最大数量的顶点对。例如,在下图中,您的方法将选择边(B,C)。在这一不幸的选择之后,没有更多的顶点对可供选择,因此最终将得到大小为1的解决方案。显然,最优解包含两个顶点对,因此您的方法不是最优的。
您试图解决的问题是最大匹配问题(不要与 Maximal Matching Problem 这很容易解决):
The Blossom Algorithm
在中解决此问题
该算法的工作方式并不简单,它引入了非平凡的概念(如收缩匹配、森林扩张和开花)来建立最佳匹配。如果您只是想在不完全了解其复杂性的情况下使用该算法,您可以在线找到它的现成实现(例如 this Python implementation ). |
danial · 如何在多个字符串的每个位置找到最频繁的字符 2 年前 |
Manny · 如何比较Perl中的字符串? 2 年前 |
Diret · 获取范围内每个数字的子倍数的算法 2 年前 |
Saif · 排序时python如何决定何时调用比较器? 2 年前 |