数据结构课件第七章.pptVIP

  1. 1、本文档共98页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构课程的内容 第7章 图 例:判断下列4种图形各属什么类型? 7.2 图的存储结构 图的特点:非线性结构(m :n ) 例2 :有向图的邻接矩阵 特别讨论 :网(即有权图)的邻接矩阵 例1:已知某网的邻接(出边)表,请画出该网络。 例1:无向图的邻接表 邻接表存储法的特点: 讨论:邻接表与邻接矩阵有什么异同之处? 三、十字链表 (适用于有向图) 三、十字链表 例:画出有向图的十字链表。 7.3 图的遍历 一、深度优先搜索( DFS ) 深度优先搜索(遍历)步骤: 讨论1:计算机如何实现DFS? 讨论2: DFS算法如何编程? 讨论3:在图的邻接表中如何进行DFS? DFS 算法效率分析: 二、广度优先搜索( BFS ) 广度优先搜索(遍历)步骤: 讨论1:计算机如何实现BFS? 讨论2: BFS算法如何编程? 7.4.3 求最小生成树 例: Kruskal(克鲁斯卡尔)算法 3. 求最短路径 一、单源最短路径 (Dijkstra算法) 例2: 1. 迪杰斯特拉算法 求一个顶点到其他各顶点的最短路径。 算法: ⑴ 初始化:用起点v到该顶点w的直接边(弧)初始化最短 路径,否则设为∞; ⑵ 从未求得最短路径的终点中选择路径长度最小的终点u: 即求得v到u的最短路径; ⑶ 修改最短路径:计算u的邻接点的最短路径,若 (v,…,u)+(u,w)(v,…,w),则以(v,…,u,w)代替。 ⑷ 重复(b)-(c),直到求得v到其余所有顶点的最短路径。 顶点A到其他顶点的最短路径 例3: 二、所有顶点之间的最短路径 问题的提出:已知一个各边权值均大于0的带权有向图,对每一对顶点 vi ? vj,希望求出vi 与vj之间的最短路径和最短路径长度。 解决思路: 可以通过调用n次Dijkstra算法来完成,但时间复杂度为O(n3)。 改进: Floyd算法(略) 2. 弗洛伊德算法 求每对顶点之间的最短路径。 依次计算矩阵A(0),A(1),…,A(n)。 A(0)为邻接矩阵, 计算A(k)时, A(k)(i,j)=min{A(k-1)(i,j), A(k-1)(i,k)+A(k-1)(k,j)}。 技巧: 计算A(k)的技巧。第k行、第k列、对角线的元素保持不变,对其余元素,考查A(i,j)与A(i,k)+A(k,j) (第k列i“行”元素加上第k行j“列”元素,简记为“行+列”),如果后者更小则替换A(i,j),同时修改路径。 求每对顶点之间的最短路径 本章小结 更直观地,一个偏序可以是一个流程图,表示完成某项任务过程中各个步骤之间的次序关系,拓扑排序的任务是在这个偏序上得到一个全序,即得到一个完成整个项目的各步骤的序列。 ? ? ? ? 排序依赖的原则就是各个步骤之间的优先关系。 ? ? ? ? 拓扑排序得到的序列不一定是唯一的,因为某些步骤间没有规定优先关系(这就是偏序的特点),在拓扑排序的时候人为的加入一些规则,使得到的序列为满足偏序关系的一个全序。 ? 如何进行拓扑排序? 方法一:(从图中顶点的入度考虑) 从有向图中选择一个没有前驱(即入度为0)的顶点并且输出它。 从网中删去该顶点和所有以它为尾的弧; 重复上述两步,直到图全部顶点输出;或当前图中不再存在没有前驱的顶点。 v1,v6,v4,v3,v2,v5 或 v1,v3,v2,v6,v4,v5 拓扑序列: C1, C2, C3, C4, C5, C8, C9, C7, C6 。 拓扑序列: C1, C2, C3, C8, C4, C5, C9, C7, C6 。 方法二:(从图中顶点的出度考虑,得到逆拓扑序列) 从有向图中选择一个出度为0的顶点并且输出它。 从网中删去该顶点和所有以它为头的弧; 重复上述两步,直到图全部顶点输出;或当前图中不再存在出度为0的顶点。 AOE网 图的关键路径、事件的最早、最迟发生时间、活动的最早、最迟开始时间 2、关键路径 一些基本概念: AOE网,即边表示活动的网络,与AOV相对应的是,它通常表示一个工程的计划或进度。 AOE网是一个有向带权图,图中的: 边:表示活动(子工程)。 边上的权:表示该活动的持续时间,即完成该活动所需要的时间; 顶点:表示事件,每个事件是活动之间的转结点,即表示它的所有入边活动到此完成,所有出边活动从此开始。 一个AOE网如图,该网中包含有11项活动和9个事件。 例如,边1,2表示活动a1,持续时间(即权值)为6,假定以天为单位,即a1需要6天完成,它以v1事件为起点,以v2事件为终点;边5,7和5,8分别表示活动a7和a8,他们的持续时间分别为9天和7天,它们均以v5事件为起

文档评论(0)

xxj1658888 + 关注
实名认证
文档贡献者

教师资格证持证人

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

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档