- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课程的内容:多对多(m:n)第7章 图7.1 基本术语7.2 存储结构7.3 图的遍历7.4 图的连通性7.5 图的应用ABECD7.1 图的基本术语V=vertex 图:记为 Graph=( V, VR )其中:V 是G 的顶点集合,是有穷非空集; VR={v,w| v,w∈V 且 P(v,w)},是有穷集.v,w表示从 v 到 w 的一条弧,并称 w 为弧头,v 为弧尾。 P(v,w) 定义了弧 v,w的意义或信息。问:当VR 为空时,图G存在否?答:还存在!但此时图G只有顶点。ABECD有向图:由顶点集和弧集构成的图(“弧”是有方向的)例如:G = (V, VR)其中V={A, B, C, D, E}VR={A,B, A,E, B,C, C,D, D,B, D,A, E,C }若v, w?VR 必有w, v?VR, 则称 (v,w) 为顶点 v 和顶点 w 之间存在一条边。无向图:由顶点集和边集构成的图(“边”无方向)例如: G=(V,VR)其中:V={A, B, C, D, E, F}VR={(A, B), (A, E), (B, E), (C, D), (D, F), (B, F), (C, F) }2143BCADFE若 n 个顶点的无向图有 n(n-1)/2 条边, 称为无向完全图若 n 个顶点的有向图有n(n-1) 条弧, 称为有向完全图证明:①有向完全图有n(n-1)条边。证明:若是有向完全图,则n个顶点中的每个顶点都有一条弧指向其它n-1个顶点, 因此总边数=n(n-1)4123②无向完全图有n(n-1)/2 条边。证明:从①可以直接推论出无向完全图的边数——因为无方向,两弧合并为一边,所以边数减半,总边数为n(n-1)/2。例:判断下列4种图形各属什么类型?BCAABEBECFCF稀疏图:稠密图: 边较少的图。通常边数远少于nlogn边很多的图。无向图中,边数接近n(n-1)/2 有向图中,边数接近n(n-1)子 图:设有两个图 G=(V, E) 和 G’=(V’, E’)。若 V’ ? V 且 E’ ?E, 则称 图G’ 是 图G 的子图。例如:BABECF有向网或无向网是弧或边带权的图。159邻接点:若边(v,w) ∈VR,则顶点v 和顶点w 互为邻接点。217113 边(v,w) 依附于顶点v 和w,或者与顶点v,w相关联 。2顶点v的度:是和v 相关联的边的数目,记为TD(v).顶点v的出度: 以顶点v 为尾的弧的数目;记为OD(v).顶点v的入度: 以顶点v 为头的弧的数目,记为ID(v).顶点的度(TD)=出度(OD)+入度(ID)答:是树!而且是一棵有向树!问:当有向图中仅1个顶点的入度为0,其余顶点的入度均为1,此时是何形状?ABECF如:从A到F长度为 3 的路径{A,B,C,F}或{A,E,C,F}路径:设图G=(V,VR)中的一个顶点序列:v=vi,0 ,vi,1 , …, vi,m=w 中,(vi,j-1 ,vi,j)(或〈 vi,j-1,vi,j〉) ?VR 1≤j≤m,则称从顶点v 到顶点w 之间存在一条路径。路径长度:路径上边(或弧)的数目。简单路径:指序列中顶点不重复出现的路径。简单回路:指序列中第一个顶点和最后一个顶点相同,其余顶点不重复出现的回路。CBDAEFCBAADABEBEEFCFCF连通分量:非连通图中的极大连通子图。连通图:无向图G中任意两个顶点之间都有路径相连通。强连通图:在有向图中, 每一对顶点vi和vj, 都存在一条从vi到vj和从vj到vi的路径强连通分量:非强连通图中的极大强连通子图。v2v1v3v4 假设一个连通图有 n 个顶点和 e 条边,其中 n-1 条边和 n 个顶点构成一个极小连通子图,称该极小连通子图为此连通图的生成树。生成树:生成森林:由若干棵生成树组成,含全部顶点,但构成这些树的边是最少的。(对有向或无向图均适用)基本操作构造一个图CreatGraph(G, V, VR)//按定义(V,VR)构造图遍 历DFSTraverse(G, v, Visit()); //从顶点v起深度优先遍历图G,并对每个顶点调用函数Visit一次且仅一次。BFSTraverse(G, v, Visit()); //从顶点v起广度优先遍历图G,并对每个顶点调用函数Visit一次且仅一次。7.2 图的存储结构图的特点:非线性结构(m :n)顺序存储结构:难!(多个顶点,无序可言,无法仅以顶点坐标表达相互关系)邻接矩阵但可用数组描述元素间关系。链式存储结构:可用多重链表邻接表十字链表邻接多重表邻接矩阵(数组)表示法邻接表(链式)表示法十字链表表示法邻接多重表表示法各种表示法成立的原则:存入电脑后能唯一复原1. 邻接矩阵(数组)表示法① 建
文档评论(0)