数据结构-公开课件(讲义).pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章 图 7.1 图的定义和术语 7.2 图的存贮结构 7.3 图的遍历 7.4 生成树和最小生成树 7.5 拓扑排序 7.6 关键路径 7.7 最短路径 教学目的、要求 1.领会图的类型定义。 2.熟悉图的各种存储结构及其构造算法,了解各种存储结构的特点及其选用原则。 3.熟练掌握图的两种遍历算法。 4.理解各种图的应用问题的算法。 7.1 图的定义和术语 7.1.1 图的定义 图是由顶点集V和顶点间的关系集合E(边的集合)组成的一种数据结构,可以用二元组定义为:G=(V,E)。 例如,对于下图所示的无向图G1和有向图G2,它们的数据结构可以描述为: G1=(V1,E1), 其中 V1={a,b,c,d},E1={(a,b),(a,c),(a,d),(b,d),(c,d)}。 G2=(V2,E2),其中V2={1,2,3}, E2={1,2,1,3,2,3,3,1}。 7.1.2 图的基本术语 1. 有向图和无向图 在图中,若用箭头标明了边是有方向性的,则称这样的图为有向图,否则称为无向图。 在无向图中,一条边(x,y)与(y,x)表示的结果相同,用圆括号表示,在有向图中,一条边x,y与y,x表示的结果不相同,故用尖括号表示。x,y表示从顶点x发向顶点y的边,x为始点,y为终点。有向边也称为弧,x为弧尾,y为弧头,则x,y表示为一条弧,而y,x表示y为弧尾,x为弧头的另一条弧 。 2. 完全图、稠密图、稀疏图 具有n个顶点,n(n-1)/2条边的图,称为完全无向图,具有n个顶点,n(n-1) 条弧的有向图,称为完全有向图。完全无向图和完全有向图都称为完全图。 对于一般无向图,顶点数为n,边数为e,则 0≤e≤n(n-1)/2。 对于一般有向图,顶点数为n,弧数为e, 则 0≤e≤n(n-1) 。 当一个图接近完全图时,则称它为稠密图,相反,当一个图中含有较少的边或弧时,则称它为稀疏图。 3. 度、入度、出度 在图中,一个顶点依附的边或弧的数目,称为该顶点的度。在有向图中,一个顶点依附的弧头数目,称为该顶点的入度。一个顶点依附的弧尾数目,称为该顶点的出度,某个顶点的入度和出度之和称为该顶点的度。 另外,若图中有n个顶点,e条边或弧,第i个顶点的度记为TD(vi),则有: 4. 子图 若有两个图G1和G2, G1=(V1,E1), G2=(V2,E2), 满足如下条件: , ,即V2为V1的子集,E2为E1的子集,称图G2为图G1的子图。 5. 权 在图的边或弧中给出相关的数,称为权。 权可以代表一个顶点到另一个顶点的距离、耗费等,带权图一般称为网。 6. 连通图和强连通图 在无向图中,若从顶点i到顶点j有路径,则称顶点i和顶点j是连通的。若任意两个顶点都是连通的,则称此无向图为连通图,否则称为非连通图。 在有向图中,若从顶点i到顶点j有路径,则称从顶点i和顶点j是连通的,若图中任意两个顶点都是连通的,则称此有向图为强连通图,否则称为非强连通图。 7. 连通分量和强连通分量 无向图中,极大的连通子图为该图的连通分量。显然,任何连通图的连通分量只有一个,即它本身,而非连通图有多个连通分量。 有向图中,极大的强连通子图为该 图的强连通分量。显然,任何强连通图的强连通分量只有一个,即它本身,而非强连通图有多个强连通分量。 8. 路径、回路 在无向图G中,若存在一个顶点序列Vp ,Vi1,Vi2,…,Vin,Vq, 使得(Vp,Vi1),(Vi1,Vi2),…..,(Vin,Vq)均属于E(G),则称顶点Vp到Vq存在一条路径。若一条路径上除起点和终点可以相同外,其余顶点均不相同,则称此路径为简单路径。起点和终点相同的路径称为回路,简单路径组成的回路称为简单回路。路径上经过的边的数目称为该路径的路径长度。 9. 有根图 在一个有向图中,若从顶点V有路径可以到达图中的其它所有顶点,则称此有向图为有根图,顶点V称作图的根。 10. 生成树、生成森林 连通图的生成树是一个极小连通子图,它包含图中全部n个顶点和n-1条不构成回路的边。 非连通图的生成树则组成一个生成森林。若图中有n个顶点,m个连通分量,则生成森林中有n-m条边。 7.2 图的存贮结构 由于图的结构比较复杂,任意两个顶点之间都可能存在联系,因此无法以数据元素在存储区中的物理位置来表示元素之间的关系,即图没有顺序映象的存储结构,但可以借助数组的数据类型表示元素之间的关系。另一方面,用多重链表表示图是自然的事,它是一种最简单的链式映象结构。 7.2.1 数组表示法 用两个数组分别存储元素(顶点)的信息和数据元素之间的关系(边或弧)的信息。其类型定义如下: mgraph.h #include iostream #include cl

文档评论(0)

小红帽 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档