- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
图的基本概念 图的存储表示 图的遍历与连通性 最小生成树 最短路径 活动网络 概述 图是一种比线性表和树更复杂的数据结构: 在线性表中,数据元素之间是线性关系,即一个元素有一个直接前趋和一个直接后继; 在树结构中,数据元素之间是层次关系,即每一层上的数据元素只能和上一层中至多一个数据元素(父结点)相关,但能与下一层的多个数据元素(儿子结点)相关; 在图结构中,任意两个数据元素之间都可能相关,即数据元素之间的关系可以是任意的。 7.1 图的基本概念和术语 一、图的定义 图是由顶点集合(vertex)及顶点间的关系集合组成的一种数据结构: Graph=( V, E ) 其中 V = { x | x ? 某个数据对象} 是顶点的有穷非空集合; E = {(x, y) | x, y ? V } 或 E = {x, y | x, y ? V Path (x, y)} 是顶点之间关系的有穷集合,也叫做边(edge)集合。Path (x, y)表示从 x 到 y 的一条单向通路, 它是有方向的。 有向图与无向图 在有向图中,顶点对 x, y 是有序的。在无向图中,顶点对(x, y)是无序的。 完全图 若有 n 个顶点的无向图有 n(n-1)/2 条边, 则此图为完全无向图。有 n 个顶点的有向图有n(n-1) 条边, 则此图为完全有向图。 邻接顶点 如果 (u, v) 是 E(G) 中的一条边,则称 u 与 v 互为邻接顶点。 子图 设有两个图 G=(V, E) 和 G‘=(V’, E‘)。若 V’? V 且 E‘?E, 则称 图G’ 是 图G 的子图。 带权图 如果给图的每条边赋与一个权值,则称为带权图。在实际应用中,这个权值具有某种意义,如两个顶点间的距离,时间的耗费等。 二、图的基本概念和术语 顶点的度 一个顶点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条边; 如果在生成树中任意增加一条边,则有一条回路。 7.2 图的存储结构 1.邻接矩阵 图的邻接矩阵表示法是用一个矩阵表示图中顶点间的相邻关系。对一个具有n个顶点的图G=(V,E),其邻接矩阵是一个nxn的矩阵,矩阵元素的值是: 对一个带权图,如果用W u v表示边(u,v)上的权值,则邻接矩阵元素的值是: 从图的邻接矩阵表示法可以看到以下特点: (1)无向图的邻接矩阵一定是对称的,而有向图的邻接矩阵不一定对称; (2)用邻接矩阵表示的图,很容易确定图中任意两个顶点是否有边相连。但要检测图中有多少条边,则需检测邻接矩阵的每个元素,需要花费较多时间。 2.邻接表 n个顶点的图用邻接表表示,是指用n个向前链表来表示各顶点间的邻接关系,第k个向前链表是由所有与顶点k相邻接的顶点构成的。所有向前链表的表头结点用一个数组来存放。 7.3 图的遍历 对图的遍历是指从图中的一个顶点出发访问图中所有顶点,且每个顶点仅被访问一次。根据访问图中各顶点的顺序,遍历图的方法主要分为两种:深
文档评论(0)