数据结构与算法 第六章 图.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构与算法 第六章 图 张铭 赵海燕 王腾蛟 /mzhang/DS/ 北京大学信息科学与技术学院 “数据结构与算法”教学小组 ?版权所有,转载或翻印必究 主要内容 ? 6.1 图的基本概念 ? 6.2 图的抽象数据类型 ? 6.3 图的存储结构 ? 6.4 图的周游(深度、广度、拓 扑) ? 6.5 最短路径问题 ? 6.6 最小支撑树 北京大学信息学院 ?版权所有,转载或翻印必究 Page 2 6.1 图的基本概念 ? 习惯上,常用G=(V,E)代表一个图 ? V是顶点(vertex)集合 ? E是边(edge)的集合 ? 边的始点 ? 边的终点 ? 稀疏图(sparse graph) ? 密集图(dense graph) ? 完全图(complete graph) 北京大学信息学院 ?版权所有,转载或翻印必究 Page 3 6.1 图的基本概念(续) ? 无向图(undirected graph) ? 图中代表一条边的顶点的偶对无 方向性,也即无序 ? 有向图(directed graph或 digraph) ? 图中代表一条边的顶点的偶对是 有序的 北京大学信息学院 ?版权所有,转载或翻印必究 Page 4 6.1 图的基本概念(续) 无向图示例 有向图示例 北京大学信息学院 ?版权所有,转载或翻印必究 Page 5 6.1 图的基本概念(续) ? 标号图(labeled graph) ? 带权图(weighted graph) 北京大学信息学院 ?版权所有,转载或翻印必究 Page 6 6.1 图的基本概念(续) ? 顶点的度(degree) ? 与该顶点相关联的边的数目 ? 入度(in degree) ? 出度(out degree) ? 子图(subgraph) ? 图G=(V,E),G’=(V’,E’)中,若 V’≤V,E’≤E,并且E’中的边所关联的 顶点都在V’中,则称图G’是图G的子图 北京大学信息学院 ?版权所有,转载或翻印必究 Page 7 6.1 图的基本概念(续) ? 路径(path) ? 在图G=(V,E)中,如果存在顶点序列V p, Vi1,Vi2,…,Vin,Vq,使得(Vp,V i1), (Vi1,Vi2) ,…,(Vin,Vq)(若对有向图, 则使得Vp,Vi1,Vi1,Vi2 ,…, Vin,Vq)都在E中,则称从顶点Vp到顶 点Vq存在一条路径。 ? 简单路径(simple path) ? 路径长度(length) 北京大学信息学院 ?版权所有,转载或翻印必究 Page 8 6.1 图的基本概念(续) ? 回路(cycle,也称为环) ? 无向图中,如果两个结点之间有平行边,容 易让人误看作“环”)路径长度大于等于3 ? 有向图两条边可以构成环,例如V0,V1 和V1,V0 构成环。 ? 简单回路(simple cycle) ? 无环图(acyclic graph) ? 有向无环图(directed acyclic graph,简 写为DAG) 北京大学信息学院 ?版权所有,转载或翻印必究 Page 9 6.1 图的基本概念(续) ? 有根的图 ? 一个有向图中,若存在一个顶点V0,从此顶点 有路径可以到达图中其它所有顶点,则称此有 向图为有根的图,V0称作图的根。 ? 树、森林 ? 连通的(connected) ? 对无向图G=(V,E)而言,如果从V1到V2有 一条路径(从V2到V1也一定有一条路径),则 称V1和V2是连通的(connected) 。 ? 强连通 北京大学信息学院 ?版权所有,转载或翻印必究 Page 10 6.1 图的基本概念(续) ? 连通分支或者连通分量(connected component) ? 无向图的最大连通子图 ? 强连通分支(强连通分量) ? 网络 ? 带权的连通图 ? 自由树(free tree) ? 不带有简单回路的无向图,它是连通 的,并且具有|V|-1条边 北京大学信息学院 ?版权所有,转载或翻印必究 Page 11 6.2 图的抽象数据类型 ? 结点、边怎么表示? ? 结点:增?、删、查?、改 ? 边:增、删、查?、改 北京大学信息学院 ?版权所有,转载或翻印必究 Page 12 6.2 图的抽象数据类型 class Graph{ //图的ADT public: int VerticesNum(); //返回图的顶点个数 int EdgesNum(); //返回图的边数 //返回与顶点oneVertex相关联的第一条边 Edge FirstEdge(int oneVertex); //返回与边PreEdge有相同关联顶点oneVertex的 //下一条边 Edge NextEdge(Edge preE

文档评论(0)

LF20190802 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档