第7章B图结构说课讲解.ppt

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
7.1 基本术语 7.2 存储结构 7.3 图的遍历 7.4 图的其他运算 7.5 图的应用;一、深度优先搜索 二、广度优先搜索 ;一、深度优先搜索( DFS );讨论1:计算机如何实现DFS?;讨论2: DFS算法如何编程?;讨论3:在图的邻接表中如何进行DFS?;讨论4: 邻接表的DFS算法如何编程?;DFS 算法效率分析:;二、广度优先搜索( BFS );广度优先搜索(遍历)步骤:;讨论1:计算机如何实现BFS?;讨论2: BFS算法如何编程?;BFS 算法效率分析:;7.4 图的其他运算;1.求图的生成树(或生成森林);例1 :画出下图的生成树;D;11;D;2. 求最小生成树;欲在n个城市间建立通信网,则n个城市应铺n-1条线路;但因为每条线路都会有对应的经济成本,而n个城市可能有n(n-1)/2 条线路,那么,如何选择n–1条线路,使总费用最少?;讨论:如何求得最小生成树?;步骤: (1) 首先构造一个只有 n 个顶点但没有边的非连通图 T = { V, ? }, 图中每个顶点自成一个连通分量。 (2) 当在边集 E 中选到一条具有最小权值的边时,若该边的两个顶点落在T中不同的连通分量上,则将此边加入到生成树的边集合T 中;否则将此边舍去,重新选择一条权值最小的边。 (3) 如此重复下去,直到所有顶点在同一个连通分量上为止。此时的T即为所求(最小生成树)。;例:应用克鲁斯卡尔算法构造最小生成树的过程;计算机内怎样实现Kruskal算法?;(1)初始状态: U ={u0 },( u0 ∈V ), TE={ }, (2)从E中选择顶点分别属于U、V-U两个集合、且权值最小的边( u0, v0),将顶点v0归并到集合U中,边(u0, v0)归并到TE中; (3)直到U=V为止。此时TE中必有n-1条边, T=(V,{TE})就是最小生成树。;例:;设计思路: ① 增设一辅助数组Closedge[ n ], 每个数组分量都有两个域:;;i<=G.vexnum;一顶点到其余各顶点;一、单源最短路径 (Dijkstra算法);v;Dijkstra(迪杰斯特拉)算法;算法描述:;算法的C语言程序;i<=G.vexnum;(v0,v2)+ (v2,v3)<(v0,v3);二、所有顶点之间的最短路径;7.5 图的应用;AOV网络的用途:;进行拓扑排序的方法:;AOE网络的用途:;什么叫关键路径?;图

文档评论(0)

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

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

1亿VIP精品文档

相关文档