版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Graph定义与术语Definitionand图与网络Graphand图的术 Glossaryof路径与回 Pathand连通性SetsinCombinatorialExpressionsofAdjacencyIncidenceAdjacencyArc图的遍历TravelinginDepthfirstsearchFindingbridgesinundirectedBreadthfirstsearchTopologicalPathsand 路径或回路Eulerian无权图有权图Weighed—中国邮路问题ThepostHamiltonianCycle无权图Weighed—ThetravellingsalesmanNetworkMinimumspanningBasicExtendedMinimumdegree-boundedspanningkThekminimumspanningtreeproblem(k-Single-sourceshortestBasicShortestpathfasterSystemofdifferenceShortestpathsinAll-pairsshortest algorithms1.6.2.2.1.1. Flow um基本算 1.6.3.1.1.1.1.Edmonds-Karpalgorithm1.6.3.1.1.1.1.1.Minimumlengthpath umcapabilitypathDinic MinimumcostFindingminimumcostFindingnegativeNetworksimplexBipartite无权图-UnweightedHopcroftandKarp带权图-KMWeighted–Kuhn-Munkres(KM)无权图-UnweightedBlossom图论GraphDefinitionandGraphand二元组VE称为图(graph)。V为结点(node)或顶点(vertex)集。E为V中结点之间的边的 是入边 ingarc)。反之,若边的点对无序则称为无向(undirected)边,所形成的图称无图(undirectedgraph)若图的边有一个权值(weight),则称为赋权边,所形成的图称赋权图(weightedgraph)或网图的术语Glossaryof简单图(simplegraph):没有环、且没有多重弧的图称作简单图。定向图:对无向图G的每条无向边指定一个方向得到的有向图。为N(u。度(degree):一个顶点的度是指与该边相关联的边的条数,顶点vdeg(v) 即边的尾是出度(outdegree):在有向图中,一个顶点的出度是指与该边相关联的出边(奇点(oddvertex):度为奇数的点。偶点(evenvertex):度为偶数的点。生成子图(spanningsub-graph)G的所有顶点的连通子图,即满足条件点导出子图(inducedsubgraph):设VV(G),以V为顶点集,以两端点均在V中的边的G的由顶点集VG的点导出子图,记为边导出子图(edge-inducedsubgraph):设EE(G),以EE中为G[E。集的图称为G的补图,记为G。点集的补集:记VVV为点集V零图(nullgraph)E,即只有孤立点的图。n阶零图记为Nn平凡图(trivialgraph):一阶零图。空图(emptygraph):VE的图。图常记作Kn。二分图(bipartitegraph)G的顶点集可划分为两个非空子集XYVXYXYXY中,那么这样完全二分图(completebipartitegraph)GXY中的顶点都有边相连,则这样的图称作完全二分图。若|X|m,|Y|n,则完全二分图G记作Km,n。路径与回路Pathand011 k eivi,vi 0 p1pm,称闭的(closed);反之,称为开的(open)。闭途径(closedwalk):起点和终点相同的途径。简单图G中长度为奇数和偶数的圈分别称为奇圈(oddcycle)和偶圈(evencycle)。xy的距离(distance),记为dG(u,v。简单图G中最短圈的长度称为图G的围长(girth),最长圈的长度称为图G的周长连通性连通(connected)G中,两个顶点间,至少存在一条路径,称两个顶点连通的连通分量或连通分支(connectedbranch,component):非连通无向图的极大连通子图(allyconnectedsub-graph)。具体说,若图G的顶点集V(G)可划分为若干非空子集的通分支(i1,2,⋯,)。图G的连通分支是G的一个极大连通子图。图G连通当割点割集(vertexcut):点集V'VG删除了V'后不连通,但删除了V'的任意真子集后G仍然连通。则称V'点割集。若某一结点就构成就了点割集,则称此结点割点(cutvertex)。点数最少的点割集称为点连通度k(G)。边割集(edgecutset):边集E'EG删除了E'后不连通,但删除了E'的任意真子集(bridge)。边数最少的边割集称为边连通度k’(G)。记号[SSS中另一端在S中的所有边的集合。Setsin点覆盖(集)(vertexcovering(set)):V'V,满足对于eE,有vV'v关联e。即一covering):点最少的点覆盖。点覆盖数(vertexcoveringnumber):最小点覆盖的点数,记为边覆盖(集)(edgecovering(set))E'E,满足对于vV,有eE',e关联v。即一个边集,使得所有点都与集合里的边邻接。或者说是“边”覆盖了所有“点”。极小边覆盖(minimaledgecovering):本身是边覆盖,其真子集都不是。最小边覆盖(minimumedgecovering):边最少的边覆盖。边覆盖数(edgecoveringnumber):最小边覆盖的边数,记为独立集(independentset):V'V,满足对于u,vV',有(u,v)E。即一个点集,集合'大独立集(alindependentset):本身为独立集,再加入任何点都不是。最大独立集(umindependentset):点最多的独立集。独立数(independentnumber):最大独立集的点数,记为V(G'相邻。或者说是导出的子图是完全图的点集。极大团(alclique):本身为团,再加入任何点都不是。最大团 umclique):点最多的团。团数(cliquenumber):最大团的点数集,满足边集中的任两边不邻接。极大边独立集(aledgeindependentset):本身为边独立集,再加入任何边都不是。最大边独立集(umedgeindependentset):边最多的边独立matching),匹配数(matchingnumber)。支配集(dominatingset):VV,满足对于uVV,有vV',(u,vE集,使得所有其他点至少有一个相邻点在集合里。或者说是一部分的“点”支配了所有“点”。lgtmdomintingset:点最少的支配集。支配数(dominatngnumber:最小支配集的点数,记为边支配集(edgedominatingset):EE,满足对于eEE',有fE',ef边支配集(minimaledgedominatingset):本身是边支配集,其真子集都不是。最小边支配集(minimumedgedominatingset):边最少的边支配集。边支配数(edgedominatingnumber):定理:无向图G无孤立点,V'是极大独立集,则V'是极小支配集。逆命题不成立。定理:连通图中,V是点覆盖,则V是支配集。极小点覆盖不一定是极小支配集。支配GVG的极,最大V'是G的极,最大独立集。由上述定理知,V(G),V(G),(G)三者互相确定,但都是 M是匹配,W是边覆盖,N是点覆盖,Y是点独立集。定理:无向图G无孤立点,|M|<=|N|,|Y|<=|W|剩下的一个未盖点要用一条边来覆盖,边覆盖数=|M|+(|V|-2|M|)=|V|-|M|。G无孤立点,(GV(G。小路径覆盖数=G的点数-最小路径覆盖中的边数。应该使得最小路径覆盖中的边数尽量多,但是又不能让两条边在同一个顶点相交。拆点:将每一个顶点iXi和YiXYXY部。因覆盖数=原图G的顶点数-二分图的最大匹配数便可以得解。匹配匹配(matching)是一个边集,满足边集中的边两两不邻接。匹配又称边独立集(edgeindependentset)。在匹配中的点称为匹配点(matchedvertex)或饱和点;反之,称为未匹配点(unmatched交错轨(alternatingpath)是图的一条简单路径,满足任意相邻的两条边,一条在匹配内, ummatching)是具有最多边的匹配。树且|E|=|V|-1;(4)G的任何两个顶点之间存在唯一的一条路;(5)GG的任何一条弧Cayley:在n阶完全图Kn,不同生成树的个数为nn2Combinatorial所谓组合(最)优化(combinatorialoptimization)又称离散优化(discreteoptimization),它是通过数学方法去寻找离散的最优编排、分组、次序或筛选等.这类问题可用数学模型描述min[1]DictionaryofAlgorithmsandDataStructuresNIST, /~jxie/courses/netoptExpressionsof311431145623758AdjacencyA(a {0,1}nn, u,v
1,(u,v)110001100 0 ,A(a u,v Incidence)
B(b
nm,
u,k 10001000000010000010000110000011 Adjacency起 终 权 指390460240530470Arc4334384376069,。按定位方式,又分前向星形owadsst)与反向星形vset)1)+1到last(u)。有权图的例子:01234502346812345678112344552342353489640367链表法:给每条边(u,v)u为起点的边链表的前一条边。直观的讲,123456527801234567853412145425243337438690600000431单,而且没有太多的时空开销,对于反向边的定位只要多加一个数据项下反向边即可; TravelinginDepthfirstsearchFindingbridgesinundirected示x到f(x)上的边均不为桥。然而f(x)比较麻烦,其实只要知道f(x)的拓扑序数就可以深度d,或者使用时间戳(TimeStamp)DFN(DFS的次序)。下面以深度为例:记g(xdf(xDFSxd。有以下的
BreadthfirstsearchTopological拓扑排序是对有向无圈图(DAG)顶点的一种排序,它使得如果存在u,v的有向路径,那么满足序中uv前。拓扑排序就是由一种偏序(particalorder)得到一个全序(称为拓扑有序(topologicalorder))。偏序是满足自反性,称性,传递性的序。0的点输出,并把这个点以及与这2。算法复杂度:O(m)。习题:MIPT012CorrectRA上的二元关系,如果R满足自反性(x∈A,(x,x)∈R,反合A称为偏序集(particalorder)。AOV(activityonvertexAOE(activityonedgenetwork),其中顶点表示event,权表示时间Pathsand 路径或回路Eulerian称为路径或回路。著名的问题:TheKönigsberg习题:Ural1124习题:CEOI2005DepotLRJP324有权图Weighed—中国邮路问题Thepost这就是一个经典的问题中国邮路问题:给出通的无向的可重边的有权图G,求最短的回路,使得每边至少遍历1次。所以两两奇点之间都存在路;又两两奇点之间的最短路可求;奇点个数为偶数。所以问题就等价于找一个奇点构成的完全图G’(V,E的最小权匹配(PerfectMatchinginGeneralGraph)。V(G’)为原图G中的奇点,每条边为两奇点对应原图的最短路长度。HamiltonianCycle有权图Weighed— 旅行商问题ThetravellingsalesmanNetworkMinimumspanningTBasic生成树T。每次增加一条边,使得这条边是由当前结点集S及其补集S所形成的边割集若|S|N3找补集S中的d最小的节点vS。更新与v相邻的结点wdFibonacciHeap实现(O(logn)O(1)),算法复杂度:O(nlognm。基本思想:就是一个生成森林。每次将一条权最小的边加入子图T中,不形分离集合(disjointset),可用并查集实现。由于排序是O(mlogm的。所以复杂度为成树T。若|T|=N,结束,此时T为G的最小生成树;否则,对于T中所有的集合Gv,计算的边割G,G中的最小弧e*(有的书称连接两个连通分量的最小弧“安全边”) v 对T中所有集合G及其边割最小弧e*(p,q),将G与q所在的集合合并
由于每次循环迭代时,每棵树都会合并成一棵较大的,因此每次循环迭代都会使子树的数量至少减少一半,或者说第i次迭代每个分量大小至少为2i。所以,循环迭代的总次新每个连通分量的最小弧;对于第3步,合并O(n/2i)个。所以总的复杂度ExtendedMinimumdegree-boundedspanning点度限制(onenodedegreebounded)。2。习题:NOI2005HkThekminimumspanningtreeproblem(k-定理:设T1,T2⋯,Tkk小生成树,则生成图集合{T1,T2⋯,Tk的邻树中的边权和最小者可作为第k+1小生成树(可能有边权和相同的情况)。下面讨论一个特例:次小生成树(ThesecondMST2-T的每一个邻树,即枚举被添加与被删除的边。由于在树中添加一条边(u,vu,vT),一定形成了一个环,环是由(u,vuv的生成树上的唯一)以每个结点为根r,DFS遍历树。在遍历过程中求 2步O(n2,故总算法复杂度为O(n2。习题:Ural1416s为起点,t为终点。单源最短路问题定义为:对于网络G=(V,E,W)st的一条简单路径,使得路径上的所有边权和最少。令d(v)sv的最短路长度上界。单源最短mind(t) 点s为根的树形图(称为最短路树(TreeofShortestPaths))。当某弧(u,v)位于最短时 ,则改d(vd(uw(u,v。直观的讲,就是路径最后通过(u,v)svsv的,记录的是从起点到该顶点的最短路长度的上界;再设置一个是前趋pred(v),记录的是当svv前面的那个直接前趋。算法通Basicu,即uU,使得d(u最小。若u取不到,即d(u)=∞则结束;否则标记为已检查,即UU{u。u(u,v)vvU(u,v)FibonacciHeap实现(O(logn)O(1))O(nlognm。BinaryHeap则O((nmlogn。解 v
k+1k
k+1ShortestpathfasterSPFABellman-Ford的一种队列实现,减少了冗余,即松驰的边至少不会以一个d为∞的点为起点。取出队头u,枚举所有的u的临边(u,v)o若d(v)d(u) ,则改2Q为空(正常结束),或有的点的入队次数>=n(含有负圈)nn的循环队列A在形式上和宽度优先搜索非常类似,不同的是宽度优先搜索中一个点出了队列就不SPFA中一个点可能在出队列之后再次被放入队列,也就是一个点改进过其它的点之后,过了一段时间可能本身被改进,于是再次用来改进其它的点,这样反复迭代下去。设一个点用来作为迭代点对其它点进行改进的平均次数为k,有办法证明对于k2,O(km。习题:Ural1254DieHard(可斜走的网格最短路)。Systemofdifferencexjxibk,1i,jn,1k若描述为线形规划模型:AxB。mnA每行含一个1一个-1,其他都是0。 0 1x
4 1 4 0x 3 3 43 43
2
xx xx xx 注意到单源最短路模型中的。d(vd(uw(u,v,即d(vd(u)w(u,v)。很像差分约束系统模型。于是可以构造一个有向网络G=(V,E,W),称为约束图(constraintsgraph)。xi的相反数。习题:NOI199901有向无环图上的最Shortestpathsinu的临边(u,v),对(u,v)d(vd(uw(u,vBasic本质就是用迭代法(动态规划 k+1,…n节点的最短路有两种可能:(1)不经过kd(ku,v;(2)经过k节点,即为 算法复杂度:O(n3算法,就可以求出所有顶点对间最短路。若图中有负权,但没有负圈,则可以把权值W改造成W’,W’非负,使得能够使用Dijkstra算法。对于每个结点vFibonacciHeapDijkstra算法,可求出v与其权值改造满足两个原则:(1)W非负;(2)uv,pWuv的最pW’uvw'(u,v)w(u,vh(uh(v),满足以上由于 是 到 的最短路长,h(u)w(u,v) ,所 仅当wp是最短路长,且不影响最短路p。[1]25.3Johnson'salgorithmforsparsegraphs,IntroductiontoAlgorithms,MITFlow最大流um个流值(flow)f(u,vst。最大流问题的数学模型描述如下:
)f(u,w) 最小切割最大流定理:s-t最大流流值=s-t习题:Ural1277CopsandThieves最小切割最大流BasicFord-FulkersonEdmonds-Karpalgorithm1.6.3.1.1.1.1.1.Minimumlengthpath umcapabilitypath1.6.3.1.1.2Preflowpushmethod1.6.3.1.1.2.1.Push-relabel1.6.3.1.1.2.2.Relabel-to-1.6.3.1.1.3.DinicDINIC&下面我们试着降到O(n^3)。v的入边的容量的和,而c_out[v]类似。不又回到原来的问题了么?但是,这里有点值得注意:因为v具有最小的容量,点意味着,我们可以在O(m)的时间内充满v。 daizi为什么一定能够找到这样一条边呢进行处理,使用刚才在v点同样的办法,直到一直处理到了s,一肯定是不会出现什么的。s出发的路径都会在t终结,这样就好办了,使用上面同样的办法,只是处理的方向是从v到t了。之后才会去做下一条边。这点意味着
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湘西土家族苗族自治州花垣县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 遵义市正安县2025-2026学年第二学期四年级语文期中考试卷(部编版含答案)
- 佛山市禅城区2025-2026学年第二学期四年级语文第五单元测试卷(部编版含答案)
- 桂林市恭城瑶族自治县2025-2026学年第二学期五年级语文期中考试卷(部编版含答案)
- 哈尔滨市通河县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 葫芦岛市龙港区2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 天水市武山县2025-2026学年第二学期三年级语文期中考试卷(部编版含答案)
- 安庆市岳西县2025-2026学年第二学期五年级语文期中考试卷(部编版含答案)
- 锡林郭勒盟西乌珠穆沁旗2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 综治三项排查工作制度
- 诺如病毒考试题及答案
- DB45∕T 2479-2022 一般固体废物填埋场水文地质工程地质勘察规范
- 岗位安全责任清单意义
- 2025年焊工(技师)考试练习题库(附答案)
- 学术自由与责任共担:导师制度与研究生培养制的深度探讨
- 法拍司辅内部管理制度
- 道路损坏修缮协议书模板
- 2025年上海市各区高三二模语文试题汇编《现代文一》含答案
- 公司履约保函管理制度
- 全国民用建筑工程设计技术规范
- 中医专科护士进修汇报
评论
0/150
提交评论