




免费预览已结束,剩余36页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
图论1,江川,七桥问题,七桥问题,七桥问题,图、点、边G=(V,E)V顶点集E边集,图的基本概念,G=(V,E)有向图、无向图无向图V&Ve=a,b有向图VxVe=a,a,b,图的基本概念,G=(V,E)度(入度、出度)环路径割,图的基本概念,G=(V,E)简单图完全图二分图平面图,图的基本概念,邻接矩阵,图的表示,邻接表(边表),图的表示,判定连通度数平衡(有向、无向),欧拉环,求解“有边就走”回溯,欧拉环,其他欧拉路混合图,欧拉环,汉密尔顿回路,NP-Complete对于顶点个数大于2的图,如果图中任意两点度的和大于或等于顶点总数,那这个图一定是哈密顿图。汉密尔顿回路vs欧拉回路,汉密尔顿回路,如果一个问题不是多项式时间可解的1、加强条件,针对特定情况2、减弱要求,求近似解3、降低问题规模,汉密尔顿回路,O(n!*n)?状态压缩动态规划要考虑的状态:已经经过哪些点?2n经过点的顺序?n!n*nn,汉密尔顿回路,例:1,0,1,1,03表示经过了1、3和4,并停在3状态数:2n*n转移:n复杂度:O(2n*n2)POJ3311,汉密尔顿回路,Floyd点对间的距离O(n3)动态规划的思想Fi,j,kFi,j,最短路,Dijkstra单源最短路径贪心算法寻找未处理的最小的点更新其他点不能有负权边O(V2)O(VlogV+E),最短路,有效的程序员不应该浪费很多时间用于程序调试,他们应该一开始就不要把故障引入。,Bellman-Ford对每一条边进行松弛操作,重复V次:foreachedge(u,v)ifdvdu+w(u,v)dv=du+w(u,v)允许负权边,可判断负权圈O(VE),最短路,SPFAShortestPathFasterAlgorithmBellman-Ford的优化用一个队列存储被更新的点期望复杂度:O(kE),最短路,特殊的图连通性结构实用序层次,树,最小生成树Prim算法两个点集(加入生成树和未加入生成树)O(V2)Kruscal算法按边权顺序从小到大枚举O(ElogE),生成树,次小生成树在最小生成树上添边生成环删边新的生成树在最小生成树上求两点路径上最大的边poj1679,生成树,拓扑排序1、选择入度为0的点v2、删除v和从v出发的所有边,拓扑排序与强连通分量,强连通分量Tarjan算法基于对图深度优先搜索的算法DFN(u):u搜索到的次序编号(时间戳)Low(u):u或者u的子树能够追溯到的最早的搜索栈中的节点的次序号。DFN(u)=Low(u)时,以u为根的搜索子树上所有节点是一个强连通分量。,拓扑排序与强连通分量,拓扑排序与强连通分量,拓扑排序与强连通分量,拓扑排序与强连通分量,拓扑排序与强连通分量,拓扑排序与强连通分量,拓扑排序与强连通分量,O(V+E)POJ2762,割点v:去掉点v后图不连通桥/割边e:去掉边e后图不连通双连通分量:1、(边)任意去掉一条边,图仍连通2、(点)任意去掉一个点,图仍连通,割点、桥、双连通分量,Tarjan算法求割点在图的搜索树中,如果u为割点,当且仅当满足下面的条件:1、如果u为树根,那么u必须有多于1棵子树2、如果u不为树根,那么(u,v)为树枝边,当Lowv=DFNu时。,割点、桥、双联通分量,割点、桥、双联通分量,在一个网络中,某些点之间可以接发信息(单向)。问至少增加多少条边可以使从任一点发送的信息可以到达其他所有点?,例题1,强连通分量看做一个点观察入度为0的点和出度为0的点poj1236,例题1,给定一个有向无环图,n个点,m条边(1=n=100000,0=m=1000000),每个点有点
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论