[工学]数据结构 C语言版严蔚敏版第7章 图.ppt

[工学]数据结构 C语言版严蔚敏版第7章 图.ppt

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

;第7章 图;7.1 图的基本概念; ;V1; ; ;顶点的度 一个顶点v的度是与它相关联的边的条数。记作TD(v)。在有向图中, 顶点的度等于该顶点的入度与出度之和。 顶点 v 的入度是以 v 为终点的有向边的条数, 记作 ID(v); 顶点 v 的出度是以 v 为始点的有向边的条数, 记作 OD(v)。 路径 在图 G=(V, E) 中, 若从顶点 vi 出发, 沿一些边经过一些顶点 vp1, vp2, …, vpm,到达顶点vj。则称顶点序列 (vi vp1 vp2 ... vpm vj) 为从顶点vi 到顶点 vj 的路径。它经过的边(vi, vp1)、(vp1, vp2)、...、(vpm, vj) 应是属于E的边。;路径长度 非带权图的路径长度是指此路径上边的条数。带权图的路径长度是指路径上各边的权之和。 简单路径 若路径上各顶点 v1,v2,...,vm 均不 互相重复, 则称这样的路径为简单路径。 回路 若路径上第一个顶点 v1 与最后一个顶点vm 重合, 则称这样的路径为回路或环。;连通图与连通分量 在无向图中, 若从顶点v1到顶点v2有路径, 则称顶点v1与v2是连通的。如果图中任意一对顶点都是连通的, 则称此图是连通图。非连通图的极大连通子图叫做连通分量。;强连通图与强连通分量 在有向图中, 若对于每一对顶点vi和vj, 都存在一条从vi到vj和从vj到vi的路径, 则称此图是强连通图。非强连通图的极大强连通子图叫做强连通分量。 生成树 一个连通图的生成树是其极小连通子图,在n个顶点的情形下,有n-1条边。;如果一个图有n 个顶点和小于n-1条边,则是非连通图;如果它多于n-1条边,则一定有环。但有n-1条边的图不一定是生成树。 如果一个有向图恰有一个顶点的入度为0,其余顶点的入度均为1,则是一棵有向树。;7.2 图的存储结构;V1;邻接矩阵表示法对求顶点的度很方便。;V1;无向图的邻接矩阵是对称的; 有向图的邻接矩阵可能是不对称的。 在有向图中, 统计第 i 行 1 的个数可得顶点 i 的出度,统计第 j 行 1 的个数可得顶点 j 的入度。 ;网络的邻接矩阵;2. 邻接表 (Adjacency List);有向图的邻接表和逆邻接表;网络 (带权图) 的邻接表;带权图的边结点中保存该边上的权值 info。 顶点 i 的边链表的表头指针 firstarc 在顶点表的下标为 i 的顶点记录中,该记录还保存了该顶点的其它信息。 在邻接表的边链表中,各个边结点的链入顺序任意,视边结点输入次序而定。 设图中有 n 个顶点,e 条边,则用邻接表表示无向图时,需要 n 个顶点结点,2e 个边结点;用邻接表表示有向图时,若不考虑逆邻接表,只需 n 个顶点结点,e 个边结点。; 3. 十字链表 是有向图的另一种存储结构 在用邻接表表示有向图时, 有时需要同时使用邻接表和逆邻接表。用有向图的 十字链表可把两个表结合起来表示。 边结点的结构 ;顶点结点的结构 每个顶点有一个结点,它相当于出边表和入边表的表头结点:其中,数据成员data存放与该顶点相关的信息,指针Firstin指示以该顶点为弧头的第一条弧结点,Firstout指示以该顶点为弧尾的第一条弧结点。;有向图的十字链表;4. 邻接多重表 (Adjacency Multilist);顶点结点的结构 存储顶点信息的结点表以顺序表方式组织, 每一个顶点结点有两个数据成员:其中,data 存放与该顶点相关的信息,Firstout 是指示第一条依附该顶点的边的指针。在邻接多重表中, 所有依附同一个顶点的边都链接在同一个单链表中。 从顶点 i 出发, 可以循链找到所有依附于该顶点的边,也可以找到它的所有邻接顶点。 ; mark vtx1 path1 vtx2 path2;7.3 图的遍历;辅助数组 visited [ ] 的初始状态为 0, 在图的遍历过程中, 一旦某一个顶点 i 被访问, 就立即让 visited [i] 为 1, 防止它被多次访问。 图的遍历的分类: 深度优先搜索 DFS (Depth First Search) 广度优先搜索 BFS (Breadth First Search);深度优先搜索DFS ( Depth First Search );DFS 在访问图中某一起始顶点 v 后, 由 v 出发, 访问它的任一邻接顶点 w1; 再从 w1 出发,访问与 w1邻 接但还没有访问过的顶点 w2; 然后再从 w2 出发, 进行类似的访问, … 如此进行下去, 直至到达所有的邻接顶点都被访问过的顶点 u 为止。接着, 退回一步, 退到前

文档评论(0)

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

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

1亿VIP精品文档

相关文档