
图论
文章平均质量分 78
guixunlong
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
最大流 - Edmonds-Karp 增广路算法
如图1所示,为该图初始状态,绿色线条为正流量权重,灰色线条为反流量权重。在此算法中,每当正向流量减少N时,反向流量则增加N,反之亦然。 找到一条从s->t的路径:s->v1->v2->t,该路径的最大流量为2,则更新完流量以后的图如下图所示。 找到一条由s->t的路径:s->v1->t,该路径的流量限制为2,则更新完流量以后如下图所示: 找到另原创 2013-01-04 17:01:48 · 4287 阅读 · 0 评论 -
Dijkstra 最短路径算法 图示与实现
基本思想: 每次从当前的最短路径中选出一个,并利用该节点优化图中起始点至图中其它各未访问到的节点的距离。以下图为例,我们欲求出起始点(A)至其它各节点的最短路径: 用数组D来存储A至其它各节点当前路短的距离,例如:D[1]为A-B的当前最短距离,D[2]为A-C当前最短距离。 起始状态为D[0]=0,根据图的连通关系,可以得到: D[1] = D[0]+L(0->1) =原创 2013-01-05 20:50:35 · 1747 阅读 · 0 评论 -
Bellman-Ford 最短路径算法 图示与实现
Dijkstra算法是处理单源最短路径的有效算法,但它局限于边的权值非负的情况,若图中出现权值为负的边,Dijkstra算法就会失效,求出的最短路径就可能是错的。 这时候,就需要使用其他的算法来求解最短路径,Bellman-Ford算法就是其中最常用的一个。该算法由美国数学家理查德•贝尔曼(Richard Bellman, 动态规划的提出者)和小莱斯特•福特(Lester Ford)发明。原创 2013-01-06 18:41:39 · 9048 阅读 · 0 评论 -
UVa 567 Risk 解答
题目描述:http://uva.onlinejudge.org/external/5/567.html 典型的最短路径问题,采用dijkstra算法实现如下: /* * 567.cc * * Created on: Jan 8, 2013 * Author: root */ #include #include const int INF = 100;原创 2013-01-08 17:36:59 · 543 阅读 · 0 评论 -
UVa 10034 Freckles 解答
题目描述:http://uva.onlinejudge.org/external/100/10034.html 典型的最小生成树算法,使用Kruskal算法实现 需要注意的是并查集的使用,查询、优化及合并操作 /* * 10034.cc * * Created on: Jan 8, 2013 * Author: root */ #include #incl原创 2013-01-08 21:03:45 · 579 阅读 · 0 评论