图论
文章平均质量分 62
MK
努力就有收获!
展开
-
floodfill种子染色算法+实例运用
种子染色,说白点,就是将一个图里面,按照题目要求,将同一类的染成同一种颜色,然后就根据颜色的类型个数分成N种不同类型的点。实现很简单,深搜,广搜都可以。由于每个点都只会遍历一次,所以就不需要研究许多优化。(对于难题就另当别论了。)给个例题(来自USACO):我原创 2011-08-25 21:05:14 · 1532 阅读 · 0 评论 -
松弛算法-->Bellman-Ford-->SPFA
松弛操作:单源最短路径算法中使用了松弛(relaxation)操作。对于每个顶点v∈V,都设置一个属性d[v],用来描述从源点s到v的最短路径上权值的上界,称为最短路径估计(shortest-path estimate)。π[v]代表S到v的当前最短路径中v点之前的一个点的编号,我们用下面的Θ(V)时间的过程来对最短路径估计和前趋进行初始化。INITIALIZE-SINGLE-SOURCE转载 2011-10-20 21:28:09 · 4603 阅读 · 0 评论 -
欧拉通路
抽象模型:现在给你一副无向图。 寻找一条包含所有边的路径,其中每一条边只经过一次。这被叫做欧拉通路。若这条路径的起点与终点为同一点,则为欧拉回路。算法:判定一个图是否存在欧拉通路或欧拉回路比较容易,这里提供两种不同的判定法则。定理1:一个图有欧拉回路当且仅当它是连通的(即不包括0度的结点)且每个结点都有偶数度。 定理2:一个图有欧拉通路当且仅当它是连通的且除两个结点转载 2011-10-21 14:29:31 · 1544 阅读 · 0 评论 -
floyd求最小环
转自 NOCOW:转载 2012-01-21 16:20:03 · 409 阅读 · 0 评论 -
二分匹配 ---- 匈牙利算法
这个算法真心很精妙,其实代码很简单,但是理解其中的奥秘还真要花点时间matrix67大牛说的好:说穿了,就是你从二分图中找出一条路径来,让路径的起点和终点都是还没有匹配过的点,并且路径经过的连线是一条没被匹配、一条已经匹配过,再下一条又没匹配这样交替地出现。找到这样的路径后,显然路径里没被匹配的连线比已经匹配了的连线多一条,于是修改匹配图,把路径里所有匹配过的连线去掉匹配关系,把没有匹配的连线原创 2012-02-03 13:35:11 · 384 阅读 · 0 评论