《数据结构(C#语言描述)》第06章图.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6.4 生成树和最小生成树 《数据结构(C#语言描述)》配套PPT 6.4.4 克鲁斯卡尔算法 克鲁斯卡尔(Kruskal)算法是一种按权值的递增次序选择合适的边来构造最小生成树的方法。假设G=(V,E)是一个具有n个顶点的带权连通无向图,T=(U,TE)是G的最小生成树,则构造最小生成树的步骤为:将图中所有边按权值递增顺序排序,依次选取权值较小的边,但要求后面选择的边不能与前面选择的边构成回路,否则就放弃该边,重复这个过程,直到n个顶点的图选出n-1条边即可。 6.4 生成树和最小生成树 《数据结构(C#语言描述)》配套PPT 6.4.4 克鲁斯卡尔算法 6 4 6 3 5 5 1 6 6 0 1 2 3 4 5 2 0 1 2 3 4 5 0 2 1 0 0 0 0 6.5 最短路径 《数据结构(C#语言描述)》配套PPT 6.5.1 单源点最短路径 单源点最短路径是指给定一个出发点(源点)和一个有向网,求出源点到其他各顶点之间的最短路径。 90 20 60 30 50 10 1 0 2 3 4 10 源点 中间顶点 终点 路径长度 0 1 10 0 3 2 50 0 3 30 0 3,2 4 60 (a) 有向网G (b) 源点0到其他顶点的最短路径 从源点0到终点4有4条路径: 0 → 4 路径长度:90 0 → 3 → 4 路径长度:90 0 → 1 → 2 → 4 路径长度:70 0 → 3 → 2 → 4 路径长度:60 源点0到终点4的最短路径为第4条路径。 6.5 最短路径 《数据结构(C#语言描述)》配套PPT 6.5.1 单源点最短路径 迪杰斯特拉(Dijkstra)算法 0 1 2 3 4 集合U 0 10 50 30 60 结果集dist 0 1 3 2 4 集合S 邻接矩阵 0 1 2 3 0 1 2 3 0 0 0 50 30 0 0 0 0 0 20 0 90 0 10 60 4 10 0 0 0 0 0 0 0 0 4 90 20 60 30 50 10 0 2 3 4 10 1 6.5 最短路径 《数据结构(C#语言描述)》配套PPT 6.5.2 所有顶点之间的最短路径 弗洛伊德(Floyed)算法 对于给定的有向网而言,可以利用Dijkstra算法,把每个顶点作为源点重复执行n次,即可求出有n个顶点的有向网中每对顶点间的最短路径,它的时间复杂度为O(n3)。 弗洛伊德(Floyed)提出了另一种算法用于计算有向网中所有顶点间的最短路径,这种算法称为弗洛伊德算法,它的时间复杂度依然为O(n3),但形式上更为简单些。 6.5 最短路径 《数据结构(C#语言描述)》配套PPT 6.5.2 所有顶点之间的最短路径 弗洛伊德(Floyed)算法 90 20 60 30 50 10 1 0 2 3 4 10 邻接矩阵 0 1 2 3 0 1 2 3 0 0 0 50 30 0 0 0 0 0 20 0 90 0 10 60 4 10 0 0 0 0 0 0 0 0 4 集合A 0 1 2 3 0 1 2 3 0 0 50 50 30 0 0 0 0 0 20 0 60 60 10 30 4 10 0 0 0 0 0 0 0 0 4 k A B C 60 10 30 6.6 本章小结 《数据结构(C#语言描述)》配套PPT 图是一种网状的多对多的非线性数据结构,图中的每个顶点可以有多个前驱和后继。图的存储包括结构有邻接矩阵、邻接表等。但在实际应用中,图也有可能以多种形式存在。 本章还介绍了求最小生成树的普里姆算法、克鲁斯卡尔算法,求最短路径的迪杰斯特拉算法、弗洛伊德算法,这些算法的掌握对于将来学习图论算法有着重要的意义。 6.7 实训指导:迷宫问题最短路径 《数据结构(C#语言描述)》配套PPT 0,2 0,3 0,4 0,5 1,0 1,2 1,3 1,5 2,0 2,1 起 2,3 2,4 2,5 3,0 3,4 4,0 4,4 4,5 5,0 5,1 5,2 终 6,2 6,3 6,4 6,5 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 起 2,1 2,3 0,2 1,3 1,0 3,0 2,5 3,4 1,2 2,0 2,4 4,0 0,4 1,5 4,4 5,0 0,5 4,5 5,1 终 0,3 Company LOGO 第6章 图 《数据结构(C#语言描述)》配套PPT 引入 《数据结构(C#语言描述)》配套PPT 线性表中的元素是“一对一”的关系,树中的元素是“一对多”的关系,本章所讲述的图形结构中的元素则是“多对多”的关系。图(Graph)是一种复杂的非线性数据结构,在

文档评论(0)

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

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

1亿VIP精品文档

相关文档