第四章 图论算法.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第四章 图论算法.ppt》由会员分享,可在线阅读,更多相关《第四章 图论算法.ppt(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第6节 图,图(Graph)是一种复杂的非线性结构。在人工智能、工程、数学、物理、化学、生物和计算机科学等领域中,图结构有着广泛的应用。奥林匹克信息学竞赛的许多试题,亦需要用图来描述数据元素间的联系。 图G由两个集合V和E组成,记为:G=(V,E),其中:V是顶点的有穷非空集合,E是V中顶点偶对(称为边)的有穷集。通常,也将图G的顶点集和边集分别记为V(G)和E(G)。E(G)可以是空集。若E(G)为空,则图G只有顶点而没有边。一、什么是图? 很简单,点用边连起来就叫做图,严格意义上讲,图是一种数据结构,定义为:graph=(V,E)。V是一个非空有限集合,代表顶点(结点),E代表边的集合。,
2、二、图的一些定义和概念1. (a)有向图:图的边有方向,只能按箭头方向从一点到另一点。(a)就是一个有向图。2. (b)无向图:图的边没有方向,可以双向。(b)就是一个无向图。3.结点的度:无向图中与结点相连的边的数目,称为结点的度。4.结点的入度:在有向图中,以这个结点为终点的有向边的数目。5.结点的出度:在有向图中,以这个结点为起点的有向边的数目。6.权值:边的“费用”,可以形象地理解为边的长度。7.连通:如果图中结点U,V之间存在一条从U通过若干条边、点到达V的通路,则称U、V 是连通的8.回路:起点和终点相同的路径,称为回路,或“环”。9.完全图:一个n 阶的完全无向图含有n*(n-1
3、)/2 条边;一个n 阶的完全有向图含有n*(n-1)条边;稠密图:一个边数接近完全图的图。稀疏图:一个边数远远少于完全图的图。10.强连通分量:有向图中任意两点都连通的最大子图。下图中1-2-5构成一个强连通分量。特殊地,单个点也算一个强连通分量,所以右图有三个强连通分量:1-2-5,4,3。,三、图的存储结构1.二维数组邻接矩阵存储定义int G101101;Gij的值,表示从点i到点j的边的权值,定义如下:上图中的3个图对应的邻接矩阵分别如下: 0 1 1 1 0 1 1 5 8 3G(A)= 1 0 1 1 G(B)= 0 0 1 5 2 6 1 1 0 0 0 1 0 G(C)= 8
4、 2 10 4 1 1 0 0 10 11 3 6 4 11 ,四、深度优先与广度优先遍历 从图中某一顶点出发系统地访问图中所有顶点,使每个顶点恰好被访问一次,这种运算操作被称为图的遍历。为了避免重复访问某个顶点,可以设一个标志数组visitedi,未访问时值为false,访问一次后就改为true。 图的遍历分为深度优先遍历和广度优先遍历两种方法,两者的时间效率都是O(n*n)。1.深度优先遍历 深度优先遍历与深搜DFS相似,从一个点A出发,将这个点标为已访问visitedi:=true;,然后再访问所有与之相连,且未被访问过的点。当A的所有邻接点都被访问过后,再退回到A的上一个点(假设是B)
5、,再从B的另一个未被访问的邻接点出发,继续遍历。 例如对右边的这个无向图深度优先遍历,假定先从1出发 程序以如下顺序遍历: 125,然后退回到2,退回到1。 从1开始再访问未被访问过的点3 ,3没有未访问的邻接点,退回1。 再从1开始访问未被访问过的点4,再退回1 。 起点1的所有邻接点都已访问,遍历结束。,2.广度优先遍历 广度优先遍历并不常用,从编程复杂度的角度考虑,通常采用的是深度优先遍历。 广度优先遍历和广搜BFS相似,因此使用广度优先遍历一张图并不需要掌握什么新的知识,在原有的广度优先搜索的基础上,做一点小小的修改,就成了广度优先遍历算法。五、一笔画问题 如果一个图存在一笔画,则一笔
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四 算法
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内