随笔分类 - 图论——学习
摘要:一个PXP的有向图中,路径覆盖就是在图中找一些路径,使之覆盖了图中的所有顶点,且任何一个顶点有且只有一条路径与之关联;(如果把这些路径中的每条路径从它的起始点走到它的终点,那么恰好可以经过图中的每个顶点一次且仅一次);如果不考虑图中存在回路,那么每条路径就是一个弱连通子集. 由上面可以得出: 1.一个单独的顶点是一条路径; 2.如果存在一路径p1,p2,......pk,其中p1 为起点,pk为终点,那么在覆盖图中,顶点p1,p2,......pk不再与其它的顶点之间存在有向边. 最小路径覆盖就是找出最小的路径条数,使之成为P的一个路径覆盖. 路径覆盖与二分图匹配的关系(必须是没有圈...
阅读全文
摘要:这里我一直好奇的是这三个漂亮的循环是怎么完成最终正确的结果的,如何证明它们是正确的。直到看了这里的解析,才算弄懂了。floyd算法是一个经典的动态规划算法。用通俗的语言来描述的话,首先我们的目标是寻找从点i到点j的最短路径。从动态规划的角度看问题,我们需要为这个目标重新做一个诠释(这个诠释正是动态规划最富创造力的精华所在),floyd算法加入了这个概念Ak(i,j):表示从i到j中途不经过索引比k大的点的最短路径。这个限制的重要之处在于,它将最短路径的概念做了限制,使得该限制有机会满足迭代关系,这个迭代关系就在于研究:假设Ak(i,j)已知,是否可以借此推导出Ak-1(i,j)。假设我现在要得
阅读全文
摘要:最大权闭合图:定义:一个有向图的闭合图G=(V,E)是该有向图的一个点集,且该点集的所有出边都还指向该点集。即闭合图内的任意点的任意后继也一定在闭合图中。 (上面这句话一下子让我明白了什么是最大权闭合图)但下面还是给个例子吧:给每个点v分配一个点权(任意实数,可正可负)。最大权闭合图,是一个点权之和最大的闭合图。此图中有9个闭合图:空集,{3,4,5},{4,5},{5},{2,4,5},{2,5},{2,3,4,5},{1,2,4,5},{1,2,3,4,5}。最大权闭合图是{3,4,5},权和为4。性质:(蛮好的)闭合图的性质恰好反映了事件之间的必要条件的关系:一个事件发生,它需要的所有前
阅读全文
摘要:Dijkstra 求单源最短路径,无法处理代负权的边。时间复杂度O(n^2)http://www.wutianqi.com/?p=1890Bellman_Ford 求单源最短路径,可以检查是否存在负权的环。时间复杂度O(v*e)http://www.wutianqi.com/?p=1912Spfa 求单源最短路径,是中国人发明的哦。。 同bellman可以检代负权的环,时间复杂度O(k*e)http://www.wutianqi.com/?p=2285floyd 求任意两地的最短路径,时间复杂度O(n^3)http://www.wutianqi.com/?p=1903Bellman-Ford算
阅读全文
摘要:Tarjan算法应用 (割点/桥/缩点/强连通分量/双连通分量/LCA(最近公共祖先)问题)转载自:http://hi.baidu.com/lydrainbowcat/blog/item/2194090a96bbed2db1351de8.html基本概念:1.割点:若删掉某点后,原连通图分裂为多个子图,则称该点为割点。2.割点集合:在一个无向连通图中,如果有一个顶点集合,删除这个顶点集合,以及这个集合中所有顶点相关联的边以后,原图变成多个连通块,就称这个点集为割点集合。3.点连通度:最小割点集合中的顶点数。4.割边(桥):删掉它之后,图必然会分裂为两个或两个以上的子图。5.割边集合:如果有一个
阅读全文
摘要:Tarjan算法(有向图强连通分量问题)转载自:http://www.byvoid.com/blog/scc-tarjan/zh-hans/[有向图强连通分量]在有向图G中,如果两个顶点间至少存在一条路径,称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图。非强连通图有向图的极大强连通子图,称为强连通分量(strongly connected components)。下图中,子图{1,2,3,4}为一个强连通分量,因为顶点1,2,3,4两两可达。{5},{6}也分别是两个强连通分量。直接根据定义,用双向遍历取交集的方法求强连通分量,时
阅读全文