网站大量收购独家精品文档,联系QQ:2885784924

数据结构讲义7.ppt

  1. 1、本文档共84页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话: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) 条边, 则此图为完全有向图。 权 某些图的边具有与它相关的数, 称之为权。带权图叫做网。 邻接顶点 如果 (u, v) 是 E(G) 中的一条边,则称 u 与 v 互为邻接顶点。 顶点的度 一个顶点v的度是与它相关联的边的条数。记作TD(v)。在有向图中,顶点v的入度是以v为终点的有向边的条数, 记作 ID(v); 顶点v的出度是以 v 为始点的有向边的条数, 记作OD(v)。 子图 设有两个图 G=(V, E) 和 G‘=(V’, E‘)。若 V’? V 且 E‘?E, 则称 图G’ 是 图G 的子图。 路径 在图 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的路径, 则称此图是强连通图。非强连通图的极大强连通子图叫做强连通分量。 7.2 图的存储结构 在图的邻接矩阵表示中,有一个记录各个顶点信息的顶点表,还有一个表示各个顶点之间关系的邻接矩阵。 设图 A = (V, E)是一个有 n 个顶点的图,则图的邻接矩阵是一个二维数组 A.edge[n][n],定义: 无向图的邻接矩阵是对称的,有向图的邻接矩阵可能是不对称的。 在无向图的邻接矩阵中, 统计第 i 行 (列) 1 的个数可得顶点i 的度。 在有向图的邻接矩阵中, 统计第 i 行 1 的个数可得顶点 i 的出度,统计第 j 行 1 的个数可得顶点 j 的入度。 网的邻接矩阵 7.2.2 邻接表 (Adjacency List) 无向图的邻接表: 把同一个顶点发出的边链接在同一个边链表中,链表的每一个结点代表一条边,叫做边结点,结点中保存有与该边相关联的另一顶点的顶点下标 adjvex 和指向同一链表中下一个边结点的指针 nextarc。 顶点表:用数组的形式存放所有的顶点及对应的边链表的头指针。 边链表:每条边用一个结点进行表示。同一个结点的所有的边形成它的边结点单链表。 在邻接表的边链表中,各个边结点的链入顺序任意,视边结点输入次序而定。 有向图可以建立邻接表和逆邻接表: 1)在有向图的邻接表中,第 i 个边链表链接的边都是顶点 i 发出的边。也叫做出边表。 2)在有向图的逆邻接表中,第 i 个边链表链接的边都是进入顶点 i 的边。也叫做入边表。 7.3 图的遍历 从已给的连通图中某一顶点出发,沿着一些边访遍图中所有的顶点,且使每个顶点仅被访问一次,就叫做图的遍历 ( Graph Traversal )。 图中可能存在回路,且图的任一顶点都可能与其它顶点相通,在访问完某个顶点之后可能会沿着某些边又回到了曾经访问过的顶点。 为了避免重复访问,可设置一个标志顶点是否被访问过的辅助数组 visited [0..n-1 ],它的初始状态为 FALSE,在图的遍历

文档评论(0)

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

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

1亿VIP精品文档

相关文档