数据结构第讲图的定义与存储结构精品文稿.ppt
《数据结构第讲图的定义与存储结构精品文稿.ppt》由会员分享,可在线阅读,更多相关《数据结构第讲图的定义与存储结构精品文稿.ppt(45页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据结构第讲图的定义与存储结构第1 页,本讲稿共45 页课程先后关系如图:c1c9c4c2c12c10c11c5c3c6c7c8c1c9c4c2c12c10c5c3c6c7c8c11第2 页,本讲稿共45 页第7章 图7.1 图的定义和术语7.2 图的存储结构7.3 图的遍历7.4 图的连通性问题7.5 有向无环图及其应用7.6 最短路径第3 页,本讲稿共45 页7.1 图的定义和术语1.基本术语(1)顶点 图中的数据元素通常称为顶点。V是顶点的有穷非空集合;VR是两个顶点之间的关系的集合。(2)有向图 若称 VR表示从v到w的一条弧,且称v为弧尾或初始点,称w为弧头或终端结点,则该图称为有向
2、图。第4 页,本讲稿共45 页(3)无向图 若VR,必有VR,即VR是对称的,则以无序对(v,w)代替这两个有序对,表示v和w之间的一条边,则该图称为无向图。第5 页,本讲稿共45 页(4)权/网 有时图的边或弧具有与它相关的数,这些数称为权值(通常表示顶点间的距离或耗费),则带权值的图称为网。(5)子图 假设有两个图 G=(V,VR)和 G=(V,VR),若 V 是 V 的子集,且 VR 是 VR 的子集,则称 G 为 G 的子图。第6 页,本讲稿共45 页G1的子图G2的子图第7 页,本讲稿共45 页(6)完全图 假设用 n 表示图中顶点的数目,用 e 表示边或弧的数目。忽略自身弧/边,即
3、若vi,vj VR,则 vivj。对于无向图,有(n(n-1)/2 条边的无向图称为完全图。对于有向图,有 n(n-1)条弧的有向图称为有向完全图。(7)稀疏图/稠密图 边或弧很少(如enlogn)的图称稀疏图,反之称稠密图。第8 页,本讲稿共45 页(8)邻接点 对于无向图G=(V,E),若边(v,v)E,则称顶点 v 和 v 互为邻接点,即 v 和 v 相邻接。或称边(v,v)依附于顶点v 和 v,或称(v,v)和顶点 v 和 v 相关联。对于有向图G=(V,E),若弧 E,则称顶点 v 邻接到顶点 v,或称顶点 v 邻接自顶点 v,或弧和顶点 v,v 相关联。(a)(b)第9 页,本讲稿
4、共45 页顶点的入度/出度 以顶点 v 为头的弧的数目称 v 的入度,记为ID(v);以顶点 v 为尾的弧的数目称 v 的出度,记为 OD(v)。顶点 v 的度 TD(v)=ID(v)OD(v)(9)顶点v的度(Degree)是和v相关联的边的数目,记为 TD(v)。(a)(b)第10 页,本讲稿共45 页(10)路径(Path)无向图G=(V,E)中,从顶点v到v的路径是顶点序列(v=vi0,vi1,vim=v),其中(vij-1,vij)E,1jm。若G是有向图,则路径也是有向的,顶点序列应满足:E,1jm。路径的长度是路径上的边或弧的数目。第11 页,本讲稿共45 页(11)回路/环/简
5、单路径 第一个顶点和最后一个顶点相同的路径称为回路/环。序列中顶点不重复出现的路径称为简单路径。除了第一个顶点和最后一个顶点之外,其余顶点不重复出现的回路,称为简单回路或简单环。第12 页,本讲稿共45 页(12)连通图/连通分量 在无向图G中,如果从顶点 V 到顶点 V 有路径,则称 V 和 V 是连通的。若图中任意两个顶点 vi、vjV,vi 和 vj 都是连通的,则称 G 是连通图。无向图中的极大连通子图称之为连通分量。第13 页,本讲稿共45 页左图:连通图下图:非连通图,但有 三个连通分量第14 页,本讲稿共45 页(13)强连通图/强连通分量 在有向图 G 中,若对于每一对vi、v
6、jV,vivj,从 vi 到 vj 和从 vj 到 vi 都存在路径,则称 G 是强连通图。有向图中的极大强连通子图称作有向图的强连通分量。第15 页,本讲稿共45 页非强连通图 两个强连通分量第16 页,本讲稿共45 页 一个连通图的生成树是一个极小连通子图,它含有图中全部顶点,但只有足以构成一棵树的n-1条边。如果在一棵生成树上添加一条边,必定构成一个环,因为这条边使得它依附的那两个顶点之间有了第二条路径。(14)生成树第17 页,本讲稿共45 页 如果一个有向图恰有一个顶点的入度为 0,其余顶点的入度均为 1,则是一棵有向树。一个有向图的生成森林由若干棵有向树组成,含有图中全部顶点,但只
7、有足以构成若干棵不相交的有向树的弧。(15)生成森林第18 页,本讲稿共45 页2.图的抽象类型定义ADT Graph 数据对象V:V是具有相同特性的数据元素的集 合,称为顶点集。数据关系R:R=VR VR=|v,wV且P(v,w),表示从v到w的弧,谓词P(v,w)定义了 弧的意义或信息 基本操作P:ADT Graph第19 页,本讲稿共45 页基本操作CreateGraph(&G,V,VR);/按V和VR的定义构造图GDestroyGraph(&G);/销毁图GLocateVex(G,u);/若G中存在顶点u,则返回该顶点/在图中位置;否则返回其它信息GetVex(G,v);/返回 v 的
8、值PutVex(&G,v,value);/对 v 赋值valueFirstAdjVex(G,v);/返回v的第一个邻接点。/若v在G中没有邻接点,则返回“空”第20 页,本讲稿共45 页NextAdjVex(G,v,w);/返回v的(相对于w的)下一/个邻接点。若w是v的最后一个邻接点,则“空”InsertVex(&G,v);/在图G中增添新顶点v。DeleteVex(&G,v);/删除G中顶点v及其相关的弧InsertArc(&G,v,w);/在G中增添弧,若G/是无向的,则还增添对称弧DeleteArc(&G,v,w);/在G中删除弧,若G/是无向的,则还删除对称弧第21 页,本讲稿共45
9、 页DFSTraverse(G,v,Visit();/从顶点v起深度优先遍历图G,并对每个顶点调用/函数 Visit一次且仅一次。BFSTraverse(G,v,Visit();/从顶点v起广度优先遍历图G,并对每个顶点调用/函数 Visit一次且仅一次。第22 页,本讲稿共45 页第7章 图7.1 图的定义和术语7.2 图的存储结构7.3 图的遍历7.4 图的连通性问题7.5 有向无环图及其应用7.6 最短路径第23 页,本讲稿共45 页7.2 图的存储结构n 图的数组(邻接矩阵)存储表示n 图的邻接表存储表示n 有向图的十字链表存储表示n 无向图的邻接多重表存储表示第24 页,本讲稿共45
10、 页1.图的数组(邻接矩阵)存储表示 邻接矩阵是用于描述图中顶点之间关系(即弧或边的权)的矩阵。假设图中顶点数为n,则邻接矩阵Ann:1 若Vi和Vj之间有弧或边 Aij=0 反之第25 页,本讲稿共45 页 CADB CABDCBAA=0 1 1 11 0 1 11 1 0 11 1 1 0A B C DA B C CBAB=0 1 01 0 01 1 0第26 页,本讲稿共45 页注意:1)图中无邻接到自身的弧,因此邻接矩阵主对角线为全零。2)无向图的邻接矩阵必然是对称矩阵。3)无向图中,顶点的度是邻接矩阵对应行(或列)的非零元素之和;有向图中,对应行的非零元素之和是该顶点的出度;对应列的
11、非零元素之和是该顶点的入度;则该顶点的度是对应行和对应列的非零元素之和。第27 页,本讲稿共45 页V1V2V3V4V5V65485931567网的邻接矩阵 反之权值 若Vi和Vj之间有弧或边Aij=第28 页,本讲稿共45 页图的数组(邻接矩阵)存储表示#define INFINITY INT_MAX/最大值#define MAX_VERTEX_NUM 20/最大顶点个数typedef enum DG,DN,UDG,UDN GraphKind;/图类型(有向图/网,无向图/网)typedef struct ArcCell VRType adj;/VRType是顶点关系类型。对无权图,用1或0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 第讲图 定义 存储 结构 精品 文稿
限制150内