Bootstrap

图匹配算法

 

一、二分图匹配

图匹配里面最特殊的一种就是二分图匹配,当然,也是算法最简单的一种。

所谓二分图,用最通俗的说法,就是图的顶点恰好可以分成两个集合,同一个集合内的顶点间不允许有边,处在不同集合的顶点允许有边相连。

而二分图匹配,指的是,从整个二分图中选出若干条边,图中的任意一个顶点(对于一个顶点,可能有许多条以该顶点为端点的边,每一条边都为该顶点的连边)至多有一条连边被选取。而边的选取过程,实质上是给顶点进行配对(选取一条边,边的两个端点即完成了配对),因此我们称这个过程为二分图匹配

说到这里,我们肯定会有一个疑问,如何配对才能得到更多的边?我们称这个求边数最大的问题为最大二分图匹配问题。

1、匈牙利算法

对于最大二分图匹配问题,最基础,代码量最小的算法是匈牙利算法。

在学习匈牙利算法之前,我们先来思考一下一种情况:假如一个二分图当前已经进行了匹配(不是最大匹配),在该二分图中,仍然存在两个未进行匹配但是存在连通路径(路径可以由一条或多条边组成)的点,且在该连通路径上

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;