中国科大数据结构.pptVIP

  1. 1、本文档共54页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
中国科大数据结构

数据结构 第七章 图 7.1 图的基本概念 图的定义 图:图G由两个集合构成,记作G=V,E, 其中V是顶点(vertex)的非空有限集合,E是边(edge)的有限集合,其中边是顶点的无序对或有序对集合。 邻接点:边的两个顶点 关联边:若边e= (v, u), 则称顶点v、u 关连边e 顶点V的度:与顶点V相关联的边的数目。在有向图中: 顶点V的出度(in degree )=以V为起点有向边数 顶点V的入度(out degree)=以V为终点有向边数 顶点V的度= V的出度+V的入度 设图G的顶点数为n,边数为e,则:图的所有顶点的度数和等于2*e,即等于每条边对图的所有顶点的度数之和。 7.1 图的基本概念 例1:G1=V1,E1, V1={v0 ,v1,v2,v3,v4 }, E1={(v0,v1),(v0,v3),(v1,v2),(v1,v4),(v2,v3)(v2,v4)} 7.1 图的基本概念 例2:G2=V2,E2,V2={v0 v1,v2,v3} E2={v0,v1 , v0,v2 , v2,v3 ,v3,v0 } 7.1 图的基本概念 子图(subgraph) 图 G=(V,E),G’=(V’,E’)中,若 V’≤V,E’≤E,并且E’中的边所关联的顶点都在V’中,则称图G’是图G的子图 例3: 下列图b、图c 是图a 的子图。 7.1 图的基本概念 路径(path):在图G=(V,E)中,如果存在顶点序列Vp,Vi1,Vi2,…,Vin,Vq,使得 (Vp, Vi1),(Vi1, Vi2),…,(Vin, Vq)(若对有向图,则使得Vp,Vi1,Vi1,Vi2 ,…,Vin,Vq)都在E中,则称从顶点Vp到顶点Vq存在一条路径,若p=q,则称为回路。 简单路径 (simple path) :在一条路径中,除起点和终点外,所有顶点各不相同,则称为简单路径。由简单路径组成的回路称为简单回路(simple cycle)。类似地,还有有向无环图的概念(directed acyclic graph,DAG)。 例4:在下图a中,V0,V1,V2,V3 是简单路径; V0,V1,V2,V4,V1不是简单路径;在图b中, V0,V2,V3,V0是简单回路。 7.1 图的基本概念 连通图:在无向图G=( V, E)中,若对任何两个顶点 v、u 都存在从v 到 u 的路径,则称G是连通图(connected graph); 强连通图:在有向图G= V, E 中,若对任何两个顶点 v、u 都存在从v 到 u 的路径,则称G是强连通图。 7.1 图的基本概念 连通分图(强连通分量):无向图G 的极大连通子图称为G的连通分量。极大连通子图意思是:该子图是 G 连通子图,将G 的任何不在该子图中的顶点加入,子图不再连通。 例5:下例是图的连通分图和非连通分图的示例: 7.1 图的基本概念 有根的图:一个有向图中,若存在一个顶点V0,从此顶点有路径可以到达图中其它所有顶点,则称此有向图为有根的图,V0称作图的根。 网络:带权的连通图。 自由树(free tree):不带有简单回路的无向图,它是连通的,并且具有|V|-1条边。 7.1 图的基本概念 生成树:包含无向图G 所有顶点的的极小连通子图称为G 的生成树。 极小连通子图意思是:该子图是G 的连通子图,在该子图中删除任何一条边,子图不再连通。 生成树定义:若T是G 的生成树当且仅当T 满足如下条件: T是G 的连通子图 T包含G 的所有顶点 T中无回路 7.2 图的存储结构 图的抽象数据类型(C++) 7.2 图的存储结构 6.3.1 图的相邻矩阵(adjacency matrix)表示法 相邻矩阵 表示顶点间相邻关系的矩阵。 若G是一个具有n个顶点的图,则G的相邻矩阵是如下定义的n?n矩阵: A[i,j] = 相邻矩阵的空间代价为O(n2) 7.2 图的存储结构 邻接矩阵的C++实现 7.2 图的存储结构 无向图数组表示法特点 无向图邻接矩阵是对称矩阵,同一条边表示了两次; 顶点v的度:等于二维数组对应行(或列)中1的个数; 判断两顶点v、u是否为邻接点:只需看组对应分量是否为1; 顶点个数不变,在图中增删边时,只需对数组对应分量赋值1或清0; 设图的顶点数为 n ,存储图用一维数组, 数组元素有 m 个 (m=n),则 G占用存储空间:m+n2;G占用存储空间只与它的顶点数有关,与边数无关;适用于边稠密的图; 对有向图的数组表示法可做类似的讨论? 7.2 图的存储结构 图的基本操作 求无向图某顶点 vi 的度 (或有向图中vi的出度):A[i][0]

文档评论(0)

baoyue + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档