版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、常州市第一中学 林厚从,图论算法与实现,一、图论基础知识 二、无向图的传递闭包问题 三、生成树与最小生成树问题 四、最短路径问题 五、拓扑排序与关键路径 六、图论模型的建立 七、匹配 八、最大流,常州市第一中学 林厚从,图论算法与实现,一、图论基础知识,1、回顾三种数据结构模型:线性表、树、图,2、图的基本概念:,图=(顶点集,边集),顶点集必须非空,什么是顶点,什么是边?,图的分类:无向图、有向图,主要看是否可逆,带权图:权的含义,不加权的图也可以认为所有边上的权都是1。,阶和度:一个图的阶是指图中顶点的个数,如果顶点A和B之间有一条边相连,则称A和B是关联的,顶点的度:与该顶点相关联的边的
2、数目,有奇点、偶点之分,对于有向图:有入度和出度之分,常州市第一中学 林厚从,图论算法与实现,一、图论基础知识,2、图的基本概念:,定理:无向图中所有顶点的度之和等于边数的2倍; 有向图中所有顶点的入度之和等于所有顶点的出度之和; 任意一个无向图一定有偶数个(或0个)奇点;,完全图:,一个n阶的完全无向图含有n*(n-1)/2条边; 一个n阶的完全有向图含有n*(n-1)条边; 稠密图:当一个图的边数接近完全图时; 稀疏图:当一个图的边数远远少于完全图时; 在具体使用时,要选用不同的存储结构;,子图:从一个图中取出若干顶点、若干边构成的一个新的图;,常州市第一中学 林厚从,图论算法与实现,一、
3、图论基础知识,2、图的基本概念:,路径:对于图G=(V,E),对于顶点a、b,如果存在一些顶点序列 x1=a,x2,xk=b(k1),且(xi,xi+1)E,i=1,2k-1,则称 顶点序列x1,x2,xk为顶点a到顶点b的一条路径,而路径上边 的数目(即k-1)称为该路径的长度。 并称顶点集合x1,x2,xk为一个连通集。,简单路径:如果一条路径上的顶点除了起点和终点可以相同外,其它 顶点均不相同,则称此路径为一条简单路径;起点和终点 相同的简单路径称为回路(或环)。,常州市第一中学 林厚从,图论算法与实现,一、图论基础知识,2、图的基本概念:,路径和简单路径的举例:,左图123是一条简单路
4、径,长度为2, 而13413就不是简单路径; 右图121为一个回路。,常州市第一中学 林厚从,图论算法与实现,一、图论基础知识,2、图的基本概念:,连通: 在一个图中,如果从顶点U到顶点V有路径,则称U和V是连通的;,有根图: 在一个图中,若存在一个顶点W,它与其它顶点都是连通的,则称此图为有根图,顶点W即为它的根。,上面的两个图都是有根图,左图的1、2、3、4都可以作为根; 而右图的1、2才可以作为根。,常州市第一中学 林厚从,图论算法与实现,一、图论基础知识,2、图的基本概念:,连通图:如果一个无向图中,任意两个顶点之间 都是连通的,则称该无向图为连通图。否则称为非连通图;左图为一个连通图
5、。,强连通图:在一个有向图中,对于任意两个顶点U和V,都存在着一条从U到V的有向路径,同时也存在着一条从V到U的有向路径,则称该有向图为强连通图;右图不是一个强连通图。,连通分支:一个无向图的连通分支定义为该图的最大连通子图,左图的连通分支是它本身。,强连通分支:一个有向图的强连通分支定义为该图的最大的强连通子图,右图含有两个强连通分支,一个是1和2构成的一个子图,一个是3独立构成的一个子图。,常州市第一中学 林厚从,图论算法与实现,一、图论基础知识,3、图的存储结构(n阶e条边):,常州市第一中学 林厚从,图论算法与实现,一、图论基础知识,4、图的遍历:,从图中某一顶点出发系统地访问图中所有
6、顶点,使每个顶点恰好被访问一次,这种运算操作被称为图的遍历。为了避免重复访问某个顶点,可以设一个标志数组visitedi,未访问时值为false,访问一次后就改为true。 图的遍历分为深度优先遍历和广度(宽度)优先遍历两种方法。,图的深度优先遍历:类似于树的先序遍历。从图中某个顶点Vi出发, 访问此顶点并作已访问标记,然后从Vi的一个未被访问过的邻接点Vj出发再进行深度优先遍历,当Vi的所有邻接点都被访问过时,则退回到上一个顶点Vk,再从Vk的另一个未被访问过的邻接点出发进行深度优先遍历,直至图中所有顶点都被访问到为止。,常州市第一中学 林厚从,图论算法与实现,一、图论基础知识,4、图的遍历
7、:,左图从顶点a出发,进行深度优先遍历的结果为:a,b,c,d,e,g,f 右图从V1出发进行深度优先遍历的结果为:V1,V2,V4,V8,V5,V3,V6,V7,对下面两个图分别进行深度优先遍历,写出遍历结果。注意:分别从a和V1出发。,常州市第一中学 林厚从,图论算法与实现,一、图论基础知识,4、图的遍历:,对于一个连通图,深度优先遍历的递归过程如下: Procedure dfs(i:integer); 图用邻接矩阵存储 Begin 访问顶点i; Visitedi:=True; For j:=1 to n do 按深度优先搜索的顺序遍历与i相关联的所有顶点 Begin If (Not Vi
8、sitedj) and (ai,j=1) Then dfs(j); End; End;,以上dfs(i)的时间复杂度为O(n*n)。 对于一个非连通图,调用一次dfs(i),即按深度优先顺序依次访问了顶点i所在的(强)连通分支,所以只要在主程序中加上:for i:=1 to n do 深度优先搜索每一个未被访问过的顶点 if not Visited(I) then dfs(i);,常州市第一中学 林厚从,图论算法与实现,一、图论基础知识,4、图的遍历:,图的宽(广)度优先遍历:类似于树的按层次遍历。从图中某个顶点V0出发,访问此顶点,然后依次访问与V0邻接的、未被访问过的所有顶点,然后再分别从
9、这些顶点出发进行广度优先遍历,直到图中所有被访问过的顶点的相邻顶点都被访问到。若此时图中还有顶点尚未被访问,则另选图中一个未被访问过的顶点作为起点,重复上述过程,直到图中所有顶点都被访问到为止。,对上面两个图分别从a和V1出发进行宽度优先遍历,写出遍历结果。,常州市第一中学 林厚从,图论算法与实现,一、图论基础知识,4、图的遍历:,对上面两个图分别从a和V1出发进行宽度优先遍历,写出遍历结果。,a,b,d,e,f,c,g V1,V2,V3,V4,V5,V6,V7,V8,常州市第一中学 林厚从,图论算法与实现,一、图论基础知识,4、图的遍历:,深度优先遍历与宽度优先遍历的比较:,深度优先遍历实际上是尽可能地走“顶点表”; 而广度优先遍历是尽可能沿顶点的“边表”进行访问,然后再沿边表对应顶点的边表进行访问,因此,有关边表的顶点需要保存(用队列,先进先出),以便进一步进行广度优先遍历。,下面是广度优先遍历的过程:,常州市第一中学 林厚从,图论算法与实现,一、图论基础知识,4、图的遍历:,时间:O(n*n),Procedure bfs(i:integer); 宽度优先遍历,图用邻接矩阵表示 Begin 访问顶点i;Visitedi:=true;顶点
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汽修厂车辆玻璃损坏更换操作工作手册
- 绘本印刷仓储防潮防晒保存管理手册
- 面包店饮品搭配制作手册
- 泛海三江火灾报警器JB-QGL-2100A-CRT一般用户使用手册
- 期末综合素养测评卷(试题)-六年级上册数学苏教版
- 2025年洛阳龙门文旅职业学院高职单招职业技能考试题库【轻巧夺冠】附答案详解
- 2024年长沙经贸职业学院单招综合素质考试模拟试卷(含答案详解)
- 2027年四川天府技师学院高职单招职业技能考试模拟试卷及一套参考答案详解
- 2024年松岳职业学院高职单招职业技能考试模拟试卷附答案详解(精练)
- 2024年广安渠江职业学院高职单招职业技能考试题库附完整答案详解【全优】
- 肩颈中医课件
- 1801综采工作面瓦斯综合治理技术方案
- 汽轮机吊装方案
- 项目部员工宿舍管理制度
- 2024版学校印刷服务合同:学校教材及宣传资料印刷合同3篇
- 2024年宁夏中考语文真题
- SY-T 6966-2023 输油气管道工程安全仪表系统设计规范
- 发运工作总结
- 市政工程混凝土排水管安装技术规范
- 腰椎退行性病变的诊断和治疗
- 浙江省A9协作体2023至2024学年高二上学期期中联考化学试题附参考答案(解析)
评论
0/150
提交评论