复习课3 上海交通大学继续教育学院.ppt

  1. 1、本文档共63页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构学位考 复习课(3) 主要内容: 1. 图 2.查找、排序 第七章 图 考核内容及要求: 熟练掌握图的相关概念、性质、存储结构 熟练掌握遍历:深度优先遍历、广度优先遍历过程; 熟练掌握连通分量的求法; 熟练掌握最小生成树、最短路径概念与方法; 掌握拓扑排序、关键路径的求法及实现方法。 1 图的定义、术语和存储结构 图:图结构中,任意两个结点之间的关系是任意的,图中任意两个数据元素之间都可能相关 图的抽象数据类型 顶点、弧、边 有向图(digraph) 有向图G1=(V1,{A1}),其中V1={v1,v2,v3,v4},A1={v1,v2,v1,v3,v3,v4,v4,v1} 无向图(undigraph) 无向图G2=(V2,{E2}) V2={v1,v2,v3,v4,v5}, E2={(v1,v2),(v1,v4),(v2,v3),(v2,v5),(v3,v4),(v3,v5)} 顶点数n和边(弧)的数目e: 无向图: 有向图: 完全图:有n(n-1)/2条边的无向图; 有向完全图:有n(n-1)条弧的有向图; 稀疏图、稠密图 子图:G=(V,{E}),G’=(V’,{E’}),若V’ V,且E’ E,则称G’为G的子图 邻接点:无向图中,(v,v’)∈E,则v,v’互为邻接点; 顶点v的度:与v相关联的边的数目,TD(v) 有向图中,若v,v’∈A,则顶点v邻接到顶点v’,而顶点v’邻接自v 出度:以v为尾的弧的数目,OD(v) 入度:以v为头的弧的数目,ID(v) TD(v)=OD(v)+ID(v) 路径: 回路(环) 简单路径:顶点序列中顶点不重复的路径。 连通图、连通分量、强连通图、强连通分量: 一个连通图的生成树:一个极小连通子图,含有图中全部结点,但只有足以构成一棵树的n-1条边。 一棵有n个顶点的生成树有且仅有n-1条边 但有n-1条边的图不一定是生成树 有向图:如果有一个顶点的入度为0,其余顶点的入度都为1,则是一棵有向树。 图的存储结构 数组表示法(邻接矩阵): 用两个数组分别存放顶点信息和边(弧)信息 图的邻接矩阵 A[i][j]=1 //若vi,vj存在 A[i][j]=0 //若vi,vj不存在 无向图:第i行分量的和为结点vi的度 有向图:第i行分量的和为结点vi的出度; 第i列分量的和为结点vi的入度 网的邻接矩阵 A[i][j]=无穷大 vi, vj间无边 =权 vi, vj间有边 问题:为什么放无穷大而不放0 邻接表:一种链式存储结构 为图中的每一个顶点创建一个单链表,其中的结点表示依附于顶点的边(以该顶点为尾的弧) 无向图的邻接表中,顶点v的度就是该顶点的单链表中的结点数; 有向图中,第i个链表的结点数是该顶点的出度; 如何求有向图中顶点的入度?——有向图的逆邻接表。 邻接多重表:无向图的另一种链式存储结构。 2. 图的遍历 图的遍历目标是解决图的连通性问题、拓扑排序问题、关键路径问题。 图的遍历方法:深度优先算法、广度优先算法 深度优先遍历 深度优先搜索遍历:类似于树的先根遍历,是树的先根遍历的推广 算法: 1.假设图中所有顶点的初始状态为:未访问; 2.从图中某个未访问的顶点v出发,访问此结点; 3.依次从v的邻接点出发深度优先遍历图,直到图中所有与v有路径的顶点都被访问到; 4.若图中还有未访问结点,则另选一个结点作起始点,重复2、3过程。 一个非连同图的深度优先遍历过程图解 广度优先遍历 广度优先搜索遍历类似于树的层次遍历 算法 一个非连同图的广度优先遍历过程图解 3.图的连通性问题——掌握连通分量的求法 无向图的连通分量和生成树 由图的遍历得出: 对于连通图,从图中任一顶点出发,可以访问到图中的所有顶点; 对于非连通图,需要从多个顶点出发,搜索到树的各个连通分量中的顶点集。 4 掌握最小生成树的概念和求法 Prim算法构造最小生成树的过程: Kruskal算法构造最小生成树的过程 5 拓扑排序 拓扑排序:由某个集合上的一个偏序得到该集合上的一个全序,就是拓扑排序。 偏序:集合中仅有部分成员之间可以比较; 全序:集合中全体成员之间均可比较。 AOV网:顶点表示活动,弧表示活动之间的优先关系的有向图称为顶点表示活动的网。 进行拓扑排序的方法: 在有向图中选一个没有前驱的顶点且输出; 从图中删除该结点和所有以该结点为尾的弧。 重复上述操作。若可以输出全部顶点,则该

文档评论(0)

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

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

1亿VIP精品文档

相关文档