算法学习:匈牙利算法

2021-05-14 22:05

阅读:699

标签:数据   fine   算法   读取   ring   暴力   更换   规模   mat   

【定义】

【二分图】:整张图可以分成两个点集,集合中点互相之间无通路

【匈牙利算法】

#include
#include
#include
#include
#define MAX 2147483647
#define MAXN 1010
int match[MAXN];
int book[MAXN];
int t[MAXN][MAXN];
int n,m;
int s;
int dfs(int u)
{
     int i;
     for(i=1;i

以上是高中时候照啊哈算法写的板子,几年前写的,学过之后忘掉了,拿出来再复习一下

具体描述代码注释

我对于这个算法的理解是,
他其实就是一个暴力,暴力的尝试这种方法是否可行,如果可行的的话标记
不可行的话继续向下寻找,通过暴力寻找新的边的排布方式,给所需要扩展的这条边多出来一个位置的话,达到扩展的目地
新的扩展的这条路也有特定的名字,增广路

我觉得他和网络流求二分图匹配相似,无论是时间还是方法上,数据规模也都差不多

算法学习:匈牙利算法

标签:数据   fine   算法   读取   ring   暴力   更换   规模   mat   

原文地址:https://www.cnblogs.com/rentu/p/12208413.html


评论


亲,登录后才可以留言!