数据结构郝春梅C语言版.ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构郝春梅C语言版

第7章 图 学习目标与要求: 了解图的定义和相关术语。 熟练掌握图的邻接矩阵和邻接链表表示。 熟练掌握图的两种遍历方式:深度优先有哪些信誉好的足球投注网站和广度优先有哪些信誉好的足球投注网站。 熟练掌握求最小生成树的两种方法:普里姆算法和克鲁斯卡尔算法。 熟练掌握求单源最短路径的迪杰斯特拉算法,了解求每对顶点间最短路径的弗洛伊德算法。 熟练掌握求拓扑序列的方法。 7.1 图的定义和术语 7.1.1 图的引例 图状结构较树形结构来说是一种更一般的非线性结构,它可以用来表示数据对象之间的任意关系,因此在现实生活中应用也更加广泛。 把每个城市表示成一个结点,每对结点之间的边表示它们之间存在通信线路,边上的数值表示通信线路的造价,得到如图7.1所示的图。 7.1.2 图的定义 1. 图 2. 无向图 3. 有向图 7.1.3 图的基本术语 1. 无向完全图 2. 有向完全图 3. 网 4. 邻接 5. 顶点的度 6. 子图 7. 路径、路长、简单路径和回路 7.1.3 图的基本术语 8. 连通、连通图、连通分量 9. 强连通图和强连通分量 10. 生成树和生成森林 7.2 图的存储结构 由于图的结构比较复杂,具体采用什么存储方式,要依据具体的操作。 从图的定义可知,无论采用什么存储方式,都要能够描述图的顶点信息和边或弧的信息。 下面介绍两种常用的图的存储结构。 7.2.1 邻接矩阵 设G=(V, E)是一个具有n个顶点的图(n≥1),则G的邻接矩阵是表示顶点之间邻接关系的n阶方阵。该n阶方阵具有如下性质: 图7.2(a)和7.2(b)所示图的邻接矩阵如图7.7(a)和图7.7(b)所示。 7.2.1 邻接矩阵 若G是网,则对应的n阶方阵具有如下性质: 图7.1所示无向网用邻接矩阵表示如图7.8所示。 7.2.2 邻接链表 邻接链表是图的一种顺序存储与链式存储结合的存储方法。 邻接链表的结点结构和数组的结点结构如图7.9(a)和图7.9(b)所示,邻接链表表示网,其结点结构如图7.10所示。 7.2.2 邻接链表 图7.2(a)和图7.2(b)所示图的邻接链表表示如图7.11(a)和图7.11(b)所示。 7.2.2 邻接链表 邻接链表存储图具有如下特点: (1) 无向图中,第i个链表中的表结点数是顶点vi的度;有向图中,第i个链表中的表结点数是顶点vi的出度。 (2) 若无向图有n个顶点、e条边,则邻接链表需n个存储单元和2e个表结点。有向图存储n个顶点e条边,需要n个存储单元和e个表结点。对于边很少的图,用邻接链表比用邻接矩阵要节省存储单元。 (3) 在邻接链表中,要确定两个顶点vi和vj之间是否有边或弧相连,需要遍历第i个或第j个单链表,不像邻接矩阵那样能方便地对顶点进行随机访问。 7.3 图 的 遍 历 图的遍历是对具有图状结构的数据线性化的过程。从图中任一顶点出发,访问输出图中各个顶点,并且使每个顶点仅被访问一次,这样得到顶点的一个线性序列,这一过程叫做图的遍历。 图的遍历是个很重要的算法,图的连通性和拓扑排序等算法都是以图的遍历算法为基础的。 下面分别介绍图的两种遍历方法:深度优先有哪些信誉好的足球投注网站和广度优先有哪些信誉好的足球投注网站,这两种方法既适用于无向图也适用于有向图。 7.3.1 深度优先有哪些信誉好的足球投注网站 深度优先有哪些信誉好的足球投注网站(Depth First Search,DFS)遍历类似于二叉树的先序遍历,其基本思想是: 初始时将图中所有顶点标记为未被访问过,从图中某个顶点v出发,访问输出该顶点,并将其标记为已访问,然后任选一个与v邻接且未被访问的顶点w访问输出并标记,再从与w邻接且未被访问的顶点z出发,进行深度优先有哪些信誉好的足球投注网站,重复这一过程,若到达某顶点不存在未被访问过的邻接顶点时,则一直退回到最近被访问过的且存在未被访问过邻接顶点的那个顶点再进行深度优先有哪些信誉好的足球投注网站,直至所有与v有路径相通的顶点都被访问到,若此时图中仍有未被访问的顶点,则另选一个未被访问的顶点,开始再做深度优先有哪些信誉好的足球投注网站 7.3.1 深度优先有哪些信誉好的足球投注网站 对于图7.12所示的有向图其对应的邻接链表如图7.13所示 7.3.1 深度优先有哪些信誉好的足球投注网站 深度优先生成树或森林:由图中的全部顶点和深度优先有哪些信誉好的足球投注网站所经过的边即构成了深度优先生成树或森林。 对图7.12所示有向图进行深度优先有哪些信誉好的足球投注网站得到的生成森林如图7.14所示。 7.3.2 广度优先有哪些信誉好的足球投注网站 广度优先有哪些信誉好的足球投注网站(Breadth First Search,BFS)类似于二叉树的层次遍历。 其基本思想是: 初始时将图中所有顶点标记为未被访问过,从图中某个顶点v出发,访问输出该顶点,并将该顶点标记为已访问,然后依次访问输出与v邻接的未被访问的所有顶点,并标记为已访问,再分别从这些邻接点出发进行广度优先有哪些信誉好的足球投注网站,直至图中所有已被访问的顶点的邻接顶点都被访问到。若此时图中仍有未被访问的顶点,则另选一个

文档评论(0)

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

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

1亿VIP精品文档

相关文档