- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法复习总结.ppt
【一】常见的算法策略 算法策略和算法是算法设计中的两个方面 算法策略是面向问题的,算法是面向实现的 通过算法策略才找出解决问题的算法 用不同算法求解的问题算法策略是不同的。 【一】常见的算法策略 1)递推:“递推法”和贪心算法一样也是由当前问题的逐步解决从而得到整个问题的解,只是依赖的是信息间本身的递推关系,每一步不需要策略参与到算法中,它们更多地用于计算。 2)递归:递归法是利用大问题与其子问题间的递归关系来解决问题的。每次找出大问题与小的子问题之间的关系,直到小的子问题很容易解决,再由小的子问题的解导出大问题的解。例如:汉诺塔问题 3)穷举:对所有可能的解逐一尝试。 4)递归回溯:类似于穷举法的思想,递归回朔法通过递归尝试遍问题各个可能解的通路,发现此路不通时回朔到上一步继续尝试别的通路。 【一】常见的算法策略 5)分治:求解较复杂的问题。这类问题是可以被分解成独立的子问题来解决的,将两个或两个以上的独立子问题的解“合成”,就得到较大的子问题的解,最后合成为总问题的解。 6)动态规划:动态规划法与贪心法类似,要求问题具有最优子结构(即最优解包含子问题的最优解),是一种自底向上的求解方式,与递归正好相反,每次求解到一个阶段时,该阶段求解所依赖的子问题已经完全求解完毕,因此每一步的求解都是在直到全部所需信息的情况下进行的,因此可以得到全局最优解。 【一】常见的算法策略 7)贪心:如果想要得到最优解,需要对问题性质有更严格的要求,除了要有最优子结构外,还要求问题具有贪婪选择性质。 贪心每一步都要选择当前看来最好的,做完此选择后便将问题化为一个(仅仅一个)子问题,这是一个顺序的求解过程,每一步都是单独考虑,只考虑局部最优,因为并没有完成对之后子问题的求解,所以贪心算法不能完成对整个解空间的搜索,因此通常不能得到最优解。 除非问题具有贪婪选择性质。所谓贪婪选择性质就是问题经过一次贪婪选择后只能形成一个子问题,这样求解空间实际上就是一个线性的空间,贪心算法可以得到最优解。是一种自顶向下求解思路。 【二】算法策略之间关系 1)“分治法”与“动态规划法” ? 都是递归思想的应用,找出大问题与小的子问题之间的关系,直到小的子问题很容易解决,再由小的子问题的解导出大问题的解。 ?分治法的特征之一是所分解出的各个子问题是相互独立的,即子问题之间不包含公共的子问题。? ? ? ? ? ? ? 【二】算法策略之间关系 2)回溯与分支限界 ?回溯法以深度优先的方式搜索解空间树,而分支限界法则以广度优先或以最小耗费优先的方式搜索解空间树。 ?一般情况下,回溯法的求解目标是找出解空间树中满足约束条件的所有解的方案,而分支限界法的求解目标则是找出满足约束条件的一个解,或是在满足约束条件的解中找出使某一目标函数值达到极大或极小的解,即在某种意义下的最优解。 【二】算法策略之间关系 3)动态规划与搜索算法 ?搜索算法:在解决最优化问题的算法中,搜索可以说是“万能”的。所以动态规划可以解决的问题,搜索也一定可以解决。 动态规划要求阶段决策具有无后向性,而搜索算法没有此限止。 ?动态规划算法在时间效率上的优势是搜索无法比拟的,但动态规划总要遍历所有的状态,而搜索可以排除一些无效状态。可能剪去大量不必要的状态,因此在空间开销上往往比动态规划要低很多。 ?动态规划是自底向上的递推求解,而无论深度优先搜索或广度优先搜索都是自顶向下求解。 【三】分治 在算法设计中每次一个问题分解成的子问题个数一般是固定的,每个子问题的规模也是平均分配的。 当每次都将问题分解为原问题规模的一半时,称为二分治法。 二分法是分治法较常用的分解策略,折半查找、归并排序等算法都是采用此策略实现的。 【四】贪心 贪心算法的基本性质 1)贪心选择性质? 2)最优子结构性质 例一:Dijkstra单源最短路径问题(有向图)?? 例二:Kruskal最小生成树问题(每次选权值最小边,直到生成一个最小生成树) 【五】动态规划 ?1)最优决策原理:要求问题具有最优子结构(即最优解包含子问题的最优解),是一种自底向上的求解思路。 ?2)动态规划的决策过程 最优决策是在最后阶段形成的,然后向前倒推,直到初始阶段; 决策的具体结果及所产生的状态转移,却是由初始阶段开始进行计算的,然后向后递归或迭代,直到最终结果。 【六】回溯与分支限界 回溯与分支限界法解决实际问题,大致可分为四个环节: 1)确定问题的可能解空间,即找出进行穷举的搜索范围。 2)以一种便于搜索的方式组织所有的可能解,一般是生成可能解空间树。 3)以某种方式搜索可能的解空间树,有两种基本搜索方式。即:深度优先搜索方式和,这就是回溯技术;广度优先搜索,就是分支限界技术。 4)在搜索过程中利用判定函数,也称为限界函数,通过“剪枝”来加速
您可能关注的文档
最近下载
- 2025最新高级生命支持(ACLS)理论考核试题及答案.docx VIP
- T∕CCSAS 001-2018 危险与可操作性分析质量控制与审查导则.pdf
- 07J912-1变配电所图集.pdf VIP
- 基于PLC控制的小车自动化送料系统设计(毕业论文).doc VIP
- 2025北京海淀高一(下)期末数学试卷含答案.pdf VIP
- 中国社会的不婚现象:现实与潜在影响探讨.docx VIP
- 2025最新高级生命支持(ACLS)理论考核试题和答案.docx
- 5.2《稻》《作酢法》+二则(知识清单)-【中职专用】高二语文(高教版2023拓展模块下册).docx VIP
- 2025年非车险考试题 .pdf VIP
- GB50016-2014 建筑设计防火规范(2018年版).docx
文档评论(0)