一、最短生成路的2种存图方法(邻接矩阵和邻接表):
1)邻接矩阵(适合稠密图即边远远多于点):
1、时间复杂度一般在n^2;
2、可以解决重边情况;map[i][j] = min( map[i][j] , input);
3、初始化;a[i][j] = INF; a[i][i] = 0;
4、邻接矩阵点的最大极限在3000左右
5、图示:
2)邻接表(适合疏密图即边...
分类:
其他好文 时间:
2015-07-31 18:38:13
阅读次数:
210
图有两种标准的表示方法,即邻接矩阵和邻接表(通常邻接矩阵用于稠密图,邻接表用于稀疏图)。如下:
对于图的搜索有两种方法:深度优先搜索 & 广度优先搜索。
广度优先搜索(Breadth-first search)
广度优先搜索是将已发现和未发现顶点之间的边界沿其广度方向向外扩展。亦即算法首先会发现和s距离为k的所有点,然后才会发现和s距离为k+1的其他顶点。
伪代码:
...
分类:
编程语言 时间:
2015-07-20 09:18:55
阅读次数:
184
做了个对比.Bor?vka算法对于稠密图效果特别好.这两个都是求生成森林的算法.Prim+heap+tarjan过于难写不写了.V=200,E=1000Kruskal method487504811Time usage: 129 usBor(uc)uvka method487504811Time u...
分类:
其他好文 时间:
2015-06-27 01:12:58
阅读次数:
126
二分图匹配(匈牙利算法的DFS实现)
初始化:g[][]两边顶点的划分情况
建立g[i][j]表示i->j的有向边就可以了,是左边向右边的匹配
g没有边相连则初始化为0
uN是匹配左边的顶点数,vN是匹配右边的顶点数
调用:res=hungary();输出最大匹配数
优点:适用于稠密图,DFS找增广路,实现简洁易于理解
时间复杂度:O(VE)
*******************...
分类:
其他好文 时间:
2015-06-16 23:04:48
阅读次数:
275
题目传送门 1 /* 2 题意:给出n个长度为7的字符串,一个字符串到另一个的距离为不同的字符数,问所有连通的最小代价是多少 3 Kuskal/Prim: 先用并查集做,简单好写,然而效率并不高,稠密图应该用Prim。这是最小生成数的裸题,然而题目有点坑爹:( 4 */ 5 #inc...
分类:
其他好文 时间:
2015-06-13 18:18:44
阅读次数:
116
同样的最小乘积XXX模型,这里显然是二分图带权匹配我不会写KM……于是写了个费用流,由于是稠密图,会退化到n^4然后本地跑了56s,交上去过了………………一定是我电脑太慢……改天写个KM吧 1 const inf=14000*14000; 2 type node=record 3 ...
分类:
其他好文 时间:
2015-06-13 12:46:38
阅读次数:
111
图的表示(建立)有两种方法:
①邻接矩阵:A(i,j)=1表示i,j存在一条边,空间复杂度O(n^2),稠密图
②邻接表:只记录存在的边,Vector+List的数据结构,稀疏图
邻接矩阵的图建立这里不做赘述,接下来我们看一下邻接表的图建立:
有向图
注意理解头插入节点的过程
int n,m;//n表示城镇个数,m表示道路条数
struct LinkNode//列表...
分类:
其他好文 时间:
2015-06-06 12:06:27
阅读次数:
496
稀疏图慢死了。。。但是稠密图效果还是很好的 1 struct MCMF{ 2 struct tedge{int x,y,cap,w,next;}adj[maxm];int ms,fch[maxn]; 3 int vis[maxn],d[maxn],ans,cost,S,T,n; 4 ...
分类:
其他好文 时间:
2015-05-27 21:07:01
阅读次数:
238
学(fuxi)了一阵子简要总结一下
floyd 全跑一边 点的三次方 100以下都呛 与点有关 无关边数 (可用于求解最小环)
dij裸 点的二次方 每次贪心取最小的松弛
SPFA km k期望2 与边有关 稀疏图最好 搭配边表 最坏情况可能比上面的还慢 唯一可判负环
Bellman-Ford SPFA复杂版 不考虑
dij优化 mlogn 更多与边有关 或许是稠密图的最优解决...
分类:
其他好文 时间:
2015-05-19 19:03:09
阅读次数:
172
深夜来一发,裸的最小生成树,数据量还挺大,kruskal算法g++始终过不去,c++刚好飘过,这个时候就体现出kruskal和prim的适用范围的不同了,前者适用于稀疏图,后者适用于稠密图。kruskal算法: 1 #include 2 #include 3 using namespace st.....
分类:
其他好文 时间:
2015-04-06 00:52:57
阅读次数:
239