前记

在学习过程中,发现很多博客将匈牙利算法和KM算法混为一谈,当时只管用不管分析区别,所以现在来分析一下两个算法之间的区别。


匈牙利算法在二分图匹配的求解过程中共两个原则:

1.最大匹配数原则
2.先到先得原则

而KM算法求解的问题则是在匈牙利算法上的延伸——也就是在最大匹配的情况下保证边权和最小。


详细的说:

匈牙利算法解决的二分图类似下面这种:

而KM算法解决的当是下面这种:

当然这不代表KM算法不可以解决匈牙利问题。

虽然解决的问题相似,但匈牙利算法和KM算法的实现方式截然不同,不过KM算法的博客就先咕了((

小结

上面的内容讲解了匈牙利算法与KM算法在解决的问题上的区别。

整体来说,匈牙利算法在求解过程中在 最大匹配原则 的基础上遵循 先到先得原则
KM算法在求解过程中则在 最大匹配原则 的基础上先保证 全局最小代价,在全局代价最小的情况下遵循 先到先得原则 分配最终结果。希望能通过一篇分析明白匈牙利算法和KM算法有一定的区分。最后,如果文章有误,欢迎 @Tonvia

匈牙利算法与KM算法的区别相关推荐

  1. 匈牙利匹配、KM算法、卡尔曼滤波、SORT/deep SORT

    匈牙利匹配.KM算法 带你入门多目标跟踪(三)匈牙利算法&KM算法 - 知乎 卡尔曼滤波: 图像处理之目标跟踪(一)之卡尔曼kalman滤波跟踪(主要为知识梳理)(转载)_coming_is_ ...

  2. 判别两棵树是否相等 设计算法_从匈牙利算法到KM算法

    网上搜了好多KM算法的文章,都写得云里雾里.看了半天之后,我终于看懂了.其实KM算法非常简单,只要会匈牙利算法了,一下就能看懂KM算法. 如果大家对自己的匈牙利算法不够自信的话,可以先复习一下,放上我 ...

  3. 多目标跟踪算法中之图匹配——匈牙利算法和KM算法详解

    目录 一.匈牙利算法 1.算法背景及思想 2.最大匹配 3.最优匹配/完美匹配 4.增广路径 5.代码实现 6.匈牙利算法总结 6.1.深度优先 6.2. 广度优先 二.KM算法思想及局限性 代码示例 ...

  4. 带你入门多目标跟踪(三)匈牙利算法KM算法

    匈牙利算法(Hungarian Algorithm)与KM算法(Kuhn-Munkres Algorithm)是做多目标跟踪的小伙伴很容易在论文中见到的两种算法.他们都是用来解决多目标跟踪中的数据关联 ...

  5. 【算法笔记】二分图最大权匹配 - KM算法(dfs版O(n4) + bfs版O(n3))

    整理的算法模板合集: ACM模板 匈牙利算法又称为 KM 算法,可以在 O(n3)O(n^3)O(n3) 时间内求出二分图的 最大权完美匹配 . 考虑到二分图中两个集合中的点并不总是相同,为了能应用 ...

  6. 奔小康赚大钱 HDU - 2255( 二分图匹配KM算法详解)

    题目 传说在遥远的地方有一个非常富裕的村落,有一天,村长决定进行制度改革:重新分配房子.  这可是一件大事,关系到人民的住房问题啊.村里共有n间房间,刚好有n家老百姓,考虑到每家都要有房住(如果有老百 ...

  7. km算法c语言,KM算法最好的讲解+POJ2195[KM算法+最小费用流]

    二.KM算法: 二分图最优匹配:对于二分图的每条边都有一个权(非负),要求一种完备匹配方案,使得所有匹配边的权和最大,记做最优完备匹配.(特殊的,当所有边的权为1时,就是最大完备匹配问题) 解二分图最 ...

  8. KM算法解决二分图最大权分配问题

    匈牙利算法和KM算法都可用来解决任务分配问题(亦称指派问题):假设有n名员工以及n份工作,一个人只能完成一项任务且能完成的任务各不相同.问如何安排员工才能使效率达到最大. 用大白话来描述二分图:二分图 ...

  9. 二分图最大权匹配问题KM算法讲解 HDU 2255 奔小康赚大钱

    作者:logosG 链接:https://www.cnblogs.com/logosG/p/logos.html (讲解的KM算法,特别厉害!!!) KM算法: 现在我们来考虑另外一个问题:如果每个员 ...

最新文章

  1. Android TextView 在strings 里面 实现换行
  2. LINUX 下构建OpenGL ES 3.0
  3. 【leetcode】3 minstack
  4. BAPI_PO_CHANGE修改NETPRICE
  5. 《SaltStack技术入门与实践》—— Job管理
  6. 用Fidder实现IOS手机抓包
  7. 别小看不起眼的电阻,里面大有学问!
  8. 45张令程序员泪流满面的趣图
  9. 有什么看起来很难,但是其实很简单的题目
  10. 学计算机三本大学最低分数线,2018三本大学最低录取分数线是多少
  11. 52 - 算法 - LeetCode 28 - 实现 strStr() -kmp
  12. python接口自动化发送get请求 详解(一)
  13. Maven实战 PDF 许晓斌
  14. 抓包与发流软件与网络诊断
  15. Linux 卸载及删除磁盘分区
  16. 设计模式——仲裁模式
  17. 揭秘java虚拟机 kindle_Kindle有一个java虚拟机
  18. chrome最新版总是自动清掉保存的密码
  19. 乐观人生VS悲观人生
  20. python如何将数组里的数提取出来_python [:3] 实现提取数组中的数

热门文章

  1. python股票量化交易(5)---股价跳空缺口
  2. PWM整流技术的具体应用
  3. Sql Server 2008登录失败问题
  4. 英文语料库词性标记表(TreeTagger) 附TreeTagger软件包
  5. Springer的latex论文模板参考文献sn-basic改成序号排序,且按照出现顺序排列
  6. C#代码整洁之道读后总结与感想
  7. Eplan许可、许可分析、分析许可
  8. 控制台窗口(console)
  9. 更新一期:智科人第一次参加2022节能减排大赛的经验加前端开发的app源代码(资料区下载)
  10. 今年最新的30个Android库,你了解吗?