- 1、本文档共45页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法设计与分析研讨5.ppt
BFS 非递归算法 BFS 非递归算法 BFS 相关讨论 BFS 相关讨论 时间效率:同DFS 效率一样。前面讨论DFS的效率时,仅与图的存储 结构(邻接矩阵、邻接链表)有关,与 DFS 或 BFS 无关 应用1:检查图的连通性和无环性,本质上与DFS一样 应用2:求给定两个顶点的最短路径(边数最少,非带权图) 从两个给定的顶点之一开始BFS,当访问到另一个顶点,BFS 结束 从BFS 算法过程看,其正确性不言而喻,但数学上的证明并不简单 说明:这样的最短路径可能不只一条(考虑去掉BG边的图) BFS 树的一部分,确定了从 A 到 G 的最短路径(边数最少) A E B C D F G H A E B C F G 拓扑排序 拓扑排序 ( Topological Sort ) 概述 问题提出 假设要安排一系列任务,如教学计划中的安排各门课程的学习顺序, 项目中各子课题的研究顺序,建筑项目,……等等。每个任务只有 当 前提条件 具备时,才能去完成这个任务。举例如下: —— 只有当学完某课程的全部前修课程后,才能安排该课程的教学 拓扑排序 找到在满足前提条件情况下,各个任务如何安排的一个 线性序列 计算模型 —— 图(顶点:一个任务,边:该任务的前提条件) 1. 有向图:任务之间有先后关系 —— 边有方向 2. 无环图:若有环,回路中就会存在彼此矛盾的条件。(想一想) 不可能在不违反前提条件情况下,为这些任务安排一个 合理的顺序,问题无解(存在矛盾条件) 综合1、2,若拓扑排序问题有解,必须是 有向无环图 拓扑排序:有向无环图 有向无环图 无向图:仅有 2 种类型的边 —— 树边、回边 有向图:可有 4 种类型的边 1. 树边:AB BC DE 2. 回边:BA(无回边: 无环图) 3. 前向边(祖孙边) 当前顶点到孙子顶点的边 AC 4. 交叉边(横跨边) 上述 3 种类型以外的边 DC A E B C D 有向有环图 A E B C D A为起点的DFS森林 A C B E D 有向无环图 去掉BA边则为 有向无环图 拓扑排序算法:DFS法 例1 拓扑排序算法 拓扑排序 DFS 算法 【例1】5 门课程的安排,问题模型如图 A C B E D C 有两门前修课 A B,E 有两门前修课 C D , 必须先安排前修课程。因此,正确次序是: 先安排 A B,然后安排 C ;接下来安排 D, 最后安排 E . 即正确的线性序列序列为: ABCDE 或 BACDE (非唯一解) 任选一个 源顶点 开始 DFS 过程: 源顶点:没有入边,即无前提条件的边 —— 我们选 A 开始 DFS A 到 E 有哪些信誉好的足球投注网站完后,尚有未访问顶点 B,将 B 入栈,从 B 重新开始 DFS . 进栈序列:ACDEB 进栈逆序:BEDCA 出栈序列:EDCAB 出栈逆序:BACDE 问题模型图 B C A E D D F S 森林 拓扑排序算法:DFS 例2 DFS解拓扑排序 【例2】7 个任务的安排 2 1 6 3 7 5 4 2 1 6 3 7 5 4 DFS树 仅有树边 退栈线性序列:7 5 4 6 2 3 1 (或 7 5 4 3 6 2 1) 退栈线性逆序:1 3 2 6 4 5 7 (或 1 2 6 3 4 5 7) 解不是唯一的,与顶点选择策略即路径选择有关 拓扑排序的源删除算法 拓扑排序的源删除算法(减一法) 每次减去一个源顶点 若算法结束(无源顶点),尚有未访问顶点时,问题无解! —— 存在矛盾条件 顶点的删除顺序即拓扑排序的一个解(不唯一),本例 A B C D E 源删除算法与数据结构 1. 找出全部源顶点并入队。若无源顶点,算法停止。有未访问顶点? Yes —— 无解; No —— 输出解(记录的顶点序列) 2. 队头顶点出队并记录,删除与该顶点连接的所有边,返回 1 A C B E D C B E D C E D E D E 生成组合对象算法:生成排列 生成组合对象 组合对象:满足一定约束条件的集合 组合数学:指出组合对象有多少个 —— 组合数(通常呈指数级增长) 如何生成:本节内容 生成排列 (前面讲过蛮力法) 生成集合元素
您可能关注的文档
- 第十四单元 防一般违法行为知识讲稿教程文件.ppt
- 第十四章讲 城市现代化与国际化.pptx
- 第十四章讲 非货币性资产交换.ppt
- 第十四章讲 饭店集团经营.ppt
- 第十四章讲-基因重组与基因工程lj.ppt
- 第十四章讲《设问型创造技法》.ppt
- 第十小组高财吉利成功收购沃尔沃案例实例分析.ppt
- 第十章 可持续相关发展理论与实践.ppt
- 第十章 重组DNA技术讲解.ppt
- 第十章 食品安全控制及管理体系.ppt
- 新高考生物二轮复习讲练测第6讲 遗传的分子基础(检测) (原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第3讲 酶和ATP(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第9讲 神经调节与体液调节(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第8讲 生物的变异、育种与进化(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(检测)(原卷版).docx
最近下载
- DLT 5210.1-2021 电力建设施工质量验收规程全套表格必威体育精装版.docx
- 项贤明主编马工程教材《教育学原理》第九章教师与学生.ppt
- 调试、试运行与移交管理方案.docx VIP
- 炼铁学大计算excel.xlsx VIP
- (四级)服装制版师考前强化培训复习题库(必过600题).docx
- 八下英语单词表(外研版).docx VIP
- 简历模板,个人简历优秀模版集合.doc VIP
- IEC62368与IEC60950-1标准的差异.pdf VIP
- 《脑卒中急救指南》课件.ppt VIP
- Unit5+Reading+Plus+课件2024-2025学年人教版英语七年级下册.pptx VIP
文档评论(0)