转自百度百科。 个人觉得关键是这句话:相等子图的完备匹配一定是二分图的最大权匹配。 KM算法是根据它来搞的! KM算法是基于匈牙利算法的。 具体参考cuitianyi的讲解。 对于KM算法,除了求权和最大,还可以求权和最小以及求权积最大。 对于求权和最小,只需要将每个权值取相反数,再求最大权和,结果再取相反数即可。 对于求权积最大,则需要把每个权值转化为对数,从而进行求最大权和的运算,最后再求回指数即可。 复杂度:优化到O(n^3)