图的定义和术语五教学讲义.ppt

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

第六章 图;路径长度——沿路径边的数目或沿路径各边权值之和 回路——第一个顶点和最后一个顶点相同的路径叫~ 简单路径——序列中顶点不重复出现的路径叫~ 简单回路——除了第一个顶点和最后一个顶点外,其余顶点不重复出现的回路叫~ 连通——从顶点V到顶点W有一条路径,则说V和W是连通的 连通图——图中任意两个顶点都是连通的叫~ 连通分量——非连通图的每一个连通部分叫~ 强连通图——有向图中,如果对每一对Vi,Vj?V, Vi?Vj,从Vi到Vj 和从Vj到 Vi都存在路径,则称G是~;例;例;连通图;6.2 图的存储结构 多重链表;邻接矩阵——表示顶点间相联关系的矩阵 定义:设G=(V,E)是有n?1个顶点的图,G的邻接矩阵A是具有以下性质的n阶方阵;特点: 无向图的邻接矩阵对称,可压缩存储;有n个顶点的无向图需存储空间为n(n+1)/2 有向图邻接矩阵不一定对称;有n个顶点的有向图需存储空间为n2 无向???中顶点Vi的度TD(Vi)是邻接矩阵A中第i行元素之和 有向图中, 顶点Vi的出度是A中第i行元素之和 顶点Vi的入度是A中第i列元素之和 网络的邻接矩阵可定义为:;?;关联矩阵——表示顶点与边的关联关系的矩阵 定义:设G=(V,E)是有n?1个顶点,e?0条边的图,G的关联矩阵A是具有以下性质的n?e阶矩阵;?;例;特点 关联矩阵每列只有两个非零元素,是稀疏矩阵;n越大,零元素比率越大 无向图中顶点Vi的度TD(Vi)是关联矩阵A中第i行元素之和 有向图中, 顶点Vi的出度是A中第i行中“1”的个数 顶点Vi的入度是A中第i行中“-1”的个数;邻接表 实现:为图中每个顶点建立一个单链表,第i个单链表中的结点表示依附于顶点Vi的边(有向图中指以Vi为尾的弧);例;特点 无向图中顶点Vi的度为第i个单链表中的结点数 有向图中 顶点Vi的出度为第i个单链表中的结点个数 顶点Vi的入度为整个单链表中邻接点域值是i的结点个数 逆邻接表:有向图中对每个结点建立以Vi为头的弧的单链表;有向图的十字链表表示法;例;无向图的邻接多重表表示法;例;6.3 图的遍历 深度优先遍历(DFS) 方法:从图的某一顶点V0出发,访问此顶点;然后依次从V0的未被访问的邻接点出发,深度优先遍历图,直至图中所有和V0相通的顶点都被访问到;若此时图中尚有顶点未被访问,则另选图中一个未被访问的顶点作起点,重复上述过程,直至图中所有顶点都被访问为止;;V1;深度优先遍历算法 递归算法;V1;V1;广度优先遍历(BFS) 方法:从图的某一顶点V0出发,访问此顶点后,依次访问V0的各个未曾访问过的邻接点;然后分别从这些邻接点出发,广度优先遍历图,直至图中所有已被访问的顶点的邻接点都被访问到;若此时图中尚有顶点未被访问,则另选图中一个未被访问的顶点作起点,重复上述过程,直至图中所有顶点都被访问为止;;V1;广度优先遍历算法;开始;例;例;0 1 2 3 4 5;6.4 生成树 生成树 定义:所有顶点均由边连接在一起,但不存在回路的图叫~ 深度优先生成树与广度优先生成树 生成森林:非连通图每个连通分量的生成树一起组成非连通图的~ 说明 一个图可以有许多棵不同的生成树 所有生成树具有以下共同特点: 生成树的顶点个数与图的顶点个数相同 生成树是图的极小连通子图 一个有n个顶点的连通图的生成树有n-1条边 生成树中任意两个顶点间的路径是唯一的 在生成树中再加一条边必然形成回路 含n个顶点n-1条边的图不一定是生成树;V1;例;最小生成树 问题提出;构造最小生成树方法 普里姆(Prim)算法 算法思想:设N=(V,{E})是连通网,TE是N上最小生成树中边的集合 初始令U={u0},(u0?V), TE=? 在所有u?U,v?V-U的边(u,v)?E中,找一条代价最小的边(u0,v0) 将(u0,v0)并入集合TE,同时v0并入U 重复上述操作直至U=V为止,则T=(V,{TE})为N的最小生成树 算法实现:图用邻接矩阵表示 算法描述 算法评价:T(n)=O(n2) ;例;算法实现 在构造过程中,设置了两个辅助数组: lowcost[ ] 存放生成树顶点集合内顶点到生成树外各顶点的各边上的当前最小权值; nearvex[ ] 记录生成树顶点集合外各顶点距离集合内哪个顶点最近(即权值最小)。 例子;若选择从顶点0出发,即u0 = 0,则两个辅助数组的初始状态为: 然后反复做以下工作: 在 lowcost [ ]中选择 nearvex[i] ? -1 lowcost[i]最小的边, 用 v 标记它。则选中的权值最小的边为(nearvex[v], v), 相应的权值为 lowcost[v]。 ;将 nearvex[v] 改为-1, 表示它已加入生成树顶

文档评论(0)

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

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

1亿VIP精品文档

相关文档