南开大学 数据结构 课件 12图.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文档。上传文档
查看更多
数据结构与程序设计 南开大学软件学院 2008 李耀国 Chapter 12 GRAPHS 12.1 Definitions 12.2 Applications 12.3 Properties 12.4 The ADTs Graphs and Digraphs 12.5 Representation Graphs and Digraphs 12.6 Representation of Networks 12.7 Class Definitions 12.8 Graphs Iterators 12.9 Language Features 12.10 Graph Search Methode 12.11 Applications Revisited Chapter 12 GRAPHS 恭喜!我们已经成功穿越了“树”的森林,下面要学习图这种数据结构。令人惊叹的是,图可以用来描述成千上万的实际问题,不过,我们仅研究其中的一小部分。本章的主要内容如下: 图的若干术语:顶点,边,邻接,关联,度,回路,路径,连通构件,生成树。 图的三种类型:无向图,有向图和加权的图。 图的常用表示方法:邻接矩阵,邻接链表和邻接压缩表。 图的标准搜索方法:宽度优先搜索和深度优先搜索。 在图中寻找路径,在无向图中寻找连通构件以及在无向连通图中寻找生成树的算法。 如何把抽象数据类型表示成一个抽象类。 本章所使用的新的C++特征是:抽象类,虚函数和虚基类。 12.1 Definitions 简单地说,图(graph)是一个用线或边连接在一起的顶点或节点的集合。正式一点的说法是,图G=(V,E)是一个V和E的有限集合,元素V称为顶点(vertex,也叫作节点或点),元素E称为边(edge,也叫作弧或连线),E中的每一条边连接V中两个不同的顶点。可以用(i,j)来表示一条边,其中i和j是E所连接的两个顶点。 一般来说,图是由回路和边组成,如图12-1所示。在图12-1中有些边是带方向的(带箭头),而有些边是不带方向的。带方向的边叫有向边(directed edge),而不带方向的边叫无向边(undirected edge)。对无向边来说,(i,j)和(j,i)是一样的;而对有向边来说,它们是不同的。前者的方向是从i到j,后者是从j到i。 12.1 Definitions 当且仅当(i,j)是图中的边时,顶点i和j是邻接的(adjacent)。边(i,j)关联(incident)于顶点i和j。图12-1a中的顶点1和2是邻接的,顶点1和3,1和4,2和3,3和4也是邻接的,除此之外,这个图中没有其他邻接的顶点。边(1,2)关联于顶点1和2,(2,3)关联于顶点2和3。 12.1 Definitions 在有向图中,有时候对邻接和关联的概念作更精确的定义非常有用。有向边(i,j)是关联至(incident to)顶点j而关联于(incident from)顶点i。顶点i邻接至(adjacent to)顶点j,顶点j邻接于(adjacent from)顶点i。 在图12-1c的图中,顶点2邻接于顶点1,而1邻接至顶点2。边(1,2)关联于顶点1而关联至顶点2。顶点4邻接至顶点3且邻接于顶点3。边(3,4)是关联于顶点3而关联至顶点4。对于无向图来说,“至”和“于”的含义是相同的。 12.1 Definitions 如果使用集合的表示方法,图12-1中的几个图可以用如下方法表示:Ga=(Va,Ea);Gb=(Vb,Eb)和Gc=(Vc,Ec),其中: Va={1,2,3,4}; Ea={(1,2),(1,3),(2,3),(1,4),(3,4)} Vb={1,2,3,4,5,6,7}; Eb={(1,2),(1,3),(4,5),(5,6),(5,7),(6,7)} Vc={1,2,3,4,5}; Ec={1,2,2,3,3,4,4,3,3,5,5,4} 12.1 Definitions 如果图中所有的边都是无向边,那么该图叫作无向图(undirected graph),图12-1a和b都是无向图。如果所有的边都是有向的,那么该图叫作有向图(directed graph),图12-1c是一个有向图。 由定义知道,一个图中不可能包括同一条边的多个副本,因此,在无向图中的任意两个顶点之间,最多只能有一条边。在有向图中的任意两个顶点之间,最多只能有一条边从顶点i到顶点j或从j到i。并且一个图中不可能包含自连边(self-edge),即(i,i)类型的边,自连边也叫作环(loop)。 12.1 Definitions 通常把无向图简称为图,有向图仍称为有向图(digraph)。在一些图和有向图的应用中,我们会为每条边赋予一个权或耗费,这种情况下,用术语加权有向图(weighte

文档评论(0)

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

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

1亿VIP精品文档

相关文档