- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第八章 图 清华大学计算机系 第八章 图 图的基本概念 图的存储表示 图的遍历与连通性 最小生成树 最短路径 活动网络 图的基本概念 图定义 图是由顶点集合(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) 条边, 则此图为完全有向图。 习题8.6证明 1、在有n个顶点的无向完全图中,每个顶点都有1条边与其他n-1个顶点相连,即n个顶点有n(n-1)条边; 2、无向图中,顶点i到顶点j与顶点j到顶点i是同一条边,因此共有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 与最后一个顶点vm 重合, 则称这样的路径为回路或环。 顶点的连通性 在无向图中, 若从顶点v1到顶点v2有路径, 则称顶点v1与v2是连通的。 连通图 如果图中任意一对顶点都是连通的, 则称此图是连通图。 生成树 一个连通图的生成树是其极小连通子图,在 n 个顶点的情形下,有 n-1 条边。 邻接矩阵 (Adjacency Matrix) 在图的邻接矩阵表示中,有一个记录各个顶点信息的顶点表,还有一个表示各个顶点之间关系的邻接矩阵。 设图 A = (V, E) 是一个有 n 个顶点的图, 图的邻接矩阵是一个二维数组 A.edge[n][n],定义: 有向图的邻接矩阵可能是不对称的 在有向图中, 统计第 i 行 1 的个数可得顶点 i 的出度; 统计第 j 列 1 的个数可得顶点 j 的入度。 在无向图中, 统计第 i 行 (列) 1 的个数可得顶点i 的度。 网络的邻接矩阵 习题8.4 用邻接矩阵表示图,矩阵元素的个数是顶点个数的平方,与边的条数无关 矩阵中非零元素的个数与边的条数有关 习题8.5 一个图中有1000个顶点,邻接矩阵中矩阵元素有1000*1000=1000000个,1000条边,在无向图中,有2000个非零元素,在有向图中有1000个非零元素。两种情况下计算出的稀疏因子都小于0.05,因此是稀疏矩阵 邻接表 (Adjacency List) 在邻接表中,同一个顶点发出的边链接在同一个边链表中; 每一个链结点代表一条边(边结点),结点中有另一顶点的下标 dest 和指针 link。 对于带权图,边结点中还要保存该边的权值cost。 无向图的邻接表 统计某顶点对应边链表中结点个数,可得该顶点的度。 某条边(vi, vj)在邻接表中有两个边结点,分别在第 i 个顶点和第 j 个顶点对应的边链表中。 有向图的邻接表和逆邻接表 由无向图邻接表重构无向图 网络 (带权图) 的邻接表 统计出边表中结点个数,得到该顶点的出度; 统计入边表中结点个数,得到该顶点的入度。 图的遍历与连通性 图的遍历 (Graph Traversal) 从已给的连通图中某一顶点出发,沿着一些边访遍图中所有的顶点,且使每个顶点仅
文档评论(0)