利用匈牙利算法可以求得二分图最大匹配。
匈牙利算法的基本原理如下:
①置M为空;
②找到一条增广路径P,通过异或操作获得更大的匹配M'代替M;
③重复②直到找不到新的增广路径。
增广路径的定义如下:
若P是图G中一条联通两个未匹配顶点的路径,且属于M的边和不属于M的边在P上交替出现,则称P为相对于M的一条增广路径。
上个图理解一下:
①初始状态
利用匈牙利算法可以求得二分图最大匹配。
匈牙利算法的基本原理如下:
①置M为空;
②找到一条增广路径P,通过异或操作获得更大的匹配M'代替M;
③重复②直到找不到新的增广路径。
增广路径的定义如下:
若P是图G中一条联通两个未匹配顶点的路径,且属于M的边和不属于M的边在P上交替出现,则称P为相对于M的一条增广路径。
上个图理解一下:
①初始状态