数据结构耿国华高教版第7章.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 图;7.1 图的定义与基本术语; DataObject为一个集合,该集合中的所有元素具有相同的特性。V中的数据元素通常称为顶点(vertex),VR是两个顶点之间的关系的集合。 P(x,y)表示x和y之间有特定的关联属性P。 ;无向图:若x,y∈VR,必有y,x∈VR,即VR是对称关系,这时以无序对(x,y)来代替两个有序对,表示x和y之间的一条边(edge),此时的图称为无向图。 ;;图的抽象类型定义: ADT Graph 数据对象V:一个集合,该集合中的所有元素具有相同的特性。 数据关系R:R={VR} VR={x,y∣P(x,y)∧(x,y∈V)};基本操作: (1)CreateGraph(G) 操作前提:已知图G不存在 操作结果:创建图G。 (2)DestoryGraph(G) 操作前提:已知图G存在; 操作结果:销毁图G。 (3)LocateVertex(G,v) 操作前提:已知图G存在,顶点v值合法; 操作结果:若顶点v在图G中存在,则返回顶点v在图G中的位置。若图G中没有顶点v,则函数返回值为“空”。 (4)GetVertex(G,i) 操作前提:已知图G存在; 操作结果:返回图G中的第i个顶点的值。若i大于图G中顶点数,则函数返回值为“空”。 ;(5)FirstAdjVertex(G,v) 操作前提:已知图G存在,顶点v值合法; 操作结果:返回图G中顶点v的第一个邻接点。若v无邻接点或图G中无顶点v,则函数值为“空”。 (6)NextAdjVertex(G,v,w) 操作前提:已知图G存在,w是图G中顶点v的某个邻接点, 操作结果:返回顶点v的下一个邻接点(紧跟在w后面)。若w是v的最后一个邻接点,则函数值为“空”。 (7)InsertVertex(G,u) 操作前提:已知图G存在,u值合法; 操作结果:在图G中增加一个顶点u。 (8)DeleteVertex(G,v) 操作前提:已知图G存在,v值合法; 操作结果:删除图G的顶点v及与顶点v相关联的弧。;(9)InsertArc(G,v,w) 操作前提:已知图G存在,v值,w值合法; 操作结果:在图G中增加一条从顶点v到顶点w的弧。 (10)DeleteArc(G,v,w) 操作前提:已知图G存在,v值,w值合法,存在弧(v,w) ; 操作结果:删除图G中从顶点v到顶点w的弧。 (11)TraverseGraph(G) 操作前提:已知图G存在; 操作结果:按照某种次???,对图G的每个顶点访问一次且仅访问一次。;7.1.2 基本术语;稀疏图:对于有很少条边的图(e n log n)称为稀疏图,反之称为稠密图。 ;A; 对于无向图 G=(V,E),如果边(v,v/)∈E,则称顶点v,v/互为邻接点,即v,v/ 相邻接。边(v,v/)依附于顶点v和v/,或者说边(v,v/)与顶点v和v/ 相关联。 对于有向图G=(V,{A})而言,若弧v,v/∈A,则称顶点v邻接到顶点v/,顶点v/ 邻接自顶点v,或者说弧v,v/与顶点v,v/相关联。 ;度、入度和出度; 一般地,若图G中有n个顶点,e条边或弧,则图中顶点的度与边的关系如下:;权与网 : 在实际应用中,有时图的边或弧上往往与具有一定意义的数有关,即每一条边都有与它相关的数,称为权,这些权可以表示从一个顶点到另一个顶点的距离或耗费等信息。我们将这种带权的图叫做赋权图或网。;16;路径与回路;回路或环:在一个路径中,若其第一个顶点和最后一个顶点是相同的,即v =v/,则称该路径为一个回路或环。 简单路径:若表示路径的顶点序列中的顶点各不相同,则称这样的路径为简单路径。 简单回路:除了第一个和最后一个顶点外,其余各顶点均不重复出现的回路为简单回路。 ;连通图 ;强连通图:在有向图G=(V,{A})中,若对于每对顶点vi、vj∈V且vi≠vj,从vi到vj和vj到vi都有路径,则称该有向图为强连通图。 强连通分量:有向图的极大强连通子图称作有向图的强连通分量。;;B;7.2 图的存储结构;邻接矩阵表示法 ;若G是一具有n个顶点的无权图,G的邻接矩阵是具有如下性质的n×n矩阵A: ;A2=;若图G是一个有n个顶点的网,则它的邻接矩阵是具有如下性质的n×n矩阵A :;6;邻接矩阵表示法的C语言类型描述为:;typedef struct{ VertexData vexs[MAX_VERTEX_NUM]; /*顶点向量, 一维数组用于存储图中顶点的信息 */ ArcNode arcs [MAX_VERTEX_NUM][MAX_VERTEX_NUM]; /*

文档评论(0)

158****9376 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档