图论相关.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
图论相关

图论相关东营市胜利第二中学刘令宇lly92213@163.com目录一、图的基本概念二、图的一些算法三、图的应用一、图的基本概念什么是图?无向图有向图图的存储几类特殊图什么是图?图G=(V, E), 即顶点集和边集组成的二元组, 它描述了顶点集的相互关系无向图任意(x,y)∈E(G),表示x和y这两个顶点之间有一条边(edge)。此时E(G)中的元素是无序的(即(x,y)=( y, x)),称G为无向图(undigraph)。有向图任意x,y∈E(G),表示从顶点x到顶点y的一条弧(arc),且称x为弧尾(tail)或初始点,称y为弧头(head)或终端点。此时E(G)中的元素是有序的(即x,y≠ y, x ),称G为有向图(digraph)。图的存储邻接矩阵(adjacency-matrix)邻接表(adjacency-list)前向星(forward star)邻接表每个结点的邻居形成一个链表前向星把所有边(u, v)按u的主关键字, v为次关键字排序, 并记录每个结点u的邻居列表的开始位置start[u](则start[u+1]是结束位置)优点?紧凑存储, 不需要使用指针, 但边的插入和删除操作可能引起大幅度变化. ?一般用于静态图. 可以方便的遍历一个点的所有邻居并通过可以储存“当前弧”提高某些图算法的效率几类特殊图欧拉图哈密顿图欧拉图 图G的一个回路,若它恰通过G中每条边一次,则称该回路为欧拉回路。存在欧拉回路的图就是欧拉图。 只存在欧拉通路的图不能叫做欧拉图,可以叫做欧拉半图。关于欧拉图的定理 1.无向连通图G是欧拉图,当且仅当G不含奇数度结点(G的所有结点度数为偶数); 2.无向连通图G含有欧拉通路,当且仅当G有零个或两个奇数度的结点; 3.有向连通图D是欧拉图,当且仅当D中每个结点的入度=出度 4.有向连通图D含有欧拉通路,当且仅当D中除两个结点外,其余每个结点的入度=出度。哈密顿通路(回路)与哈密顿图通过图G的每个结点一次,且仅一次的通路(回路),就是哈密顿通路(回路). 存在哈密顿回路的图就是哈密顿图. 求哈密顿路的算法级别寻找哈密顿路的确定算法虽然很难有多项式时间的,但是这并不意味着只能进行时间复杂度为O(n!*n)暴力搜索.利用状态压缩动态规划,我们可以将时间复杂度降低到O(2^n*n^3),具体算法是建立方程f[i][S][j],表示经过了i个节点,节点都是集合S的,到达节点j时的最短路径.每次我们都按照点j所连的节点进行转移.二、图的一些算法Topological SortFloyd-Warshall 最小环问题Bellman-FordSPFADijkstraSSSPPrimKruskalTopological Sort(拓扑排序)适用条件范围:有向无环图;作为某些算法的预处理过程(如DP)算法描述:每次挑选入度为0的顶点输出(不计次序)。如果最后发现输出的顶点数小于|V|,则表明有回路存在。算法实现:indgr[i]:顶点i的入度; stack[]:栈初始化:top=0 (栈顶指针)将初始状态所有入度为0的顶点压栈I=0 (计数器)While 栈非空(top0) do顶点v出栈;输出v;计数器增1;For 与v邻接的顶点u dodec(indgr[u]);If indgr[u]=0 then 顶点u入栈EXIT(I=|V|)简单高效实用的算法。上述实现方法复杂度O(V+E)Floyd-Warshall适用范围:APSP(All Pairs Shortest Paths)稠密图效果最佳边权可正可负算法描述:初始化:dis[u,v]=w[u,v]For k:=1 to n For i:=1 to n For j:=1 to n If dis[i,j]dis[i,k]+dis[k,j] Then Dis[I,j]:=dis[I,k]+dis[k,j];算法结束:dis即为所有点对的最短路径矩阵最小环问题简要介绍它的两种算法:(1)删边求最短路,每条边都要求一次,最短路可用dijkstra 或 spfa;(2)floyd算法的基础上实现:代码: For k:=1 to n do Begin For i:=1 to k-1 do For j:=i+1 to k-1 do Ans:=Min(ans,d[I,k]+d[j,k]+a[I,j]); For i:=1 to n do For j:=1 to n do D[I,j]:=Min(d[I,j],d[I,k]+d[k,j]); End; Relaxation(松弛操作)procedure relax(u,v,w:integer);//多数情况下不需要单独写成procedure。begin if dis[u]+wdis[v] then begin dis

文档评论(0)

skvdnd51 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档