- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
复习
递归:
定义、递归算法的效率分析(时间的递推式)
蛮力法:
定义:
蛮力法是一种简单直接的解决问题的方法,常常直接基于问题本身设计算法。可以用“直接干吧!”来描述蛮力法策略,通常是最容易想到和采用的一种简单直接的算法设计策略。
特点:1. 算法设计较为简单直接,相对容易;
2. 通常,算法效率不高。因此,高效算法一般很少来自于蛮力法。
3. 可以解决广泛领域的各种问题,几乎是唯一一种解决各种问题的
一般性方法。常用于一些非常基本而又十分重要的算法。比如:
计算 n 个数的和; 求一个列表的最大元素,等等。
4. 对于一些重要的算法(如排序、查找、矩阵乘法、字符串匹配),
蛮力法可以产生一些合理算法,多少具备一些实用价值 ,且并不
限制问题的规模。
5 对于规模不大的问题,蛮力法的计算速度可以接受时,设计一个
高效算法所花费的代价很可能不值得。(人力成本,算法复杂度)
6. 蛮力法可为研究和教学服务,以它作为尺度,衡量该问题的其他
算法的效率。
例:选择排序、冒泡排序、顺序查找、字符串匹配、穷举查找(穷举查找是一种简单的蛮力法。)等、
分治法:
定义:
分治法是著名的通用算法设计技术,很多非常有效的算法实际上是这个通用算法的特殊实现。基本思想符合人们在解决复杂问题时,常常将其从大到小逐步分解,进而将较易求解的小问题解合并得到原问题的解。这即是“分治法”的分而治之的思想。
1. 分解原问题规模为较小的子问题,子问题最好有相同规模;
2. 求解子问题;( 1、 2 步“分解-求解”过程通常是递归的,直到子问题可简单求解为止)
3. 合并子问题的解,得到原问题的解(必要的话)。
效率分析:
建立递归算法的递推式并求解得到增长函数的增长率类型:
分治法运算时间的通用分治递推式:
一个规模 n 的问题,每次被分为 a 个子问题,每个子问题规模 n/b
(上例:a = 2, b = 2)。为简化分析,假定 n 是 b 的乘方即 n = bk,
k=1,2,3,..., 通用分治递推式如下:
c:子集 (规模为 tr )求解时间 (常量);(时间:基本操作数)
f (n):子集分解和子集解合并的时间。(本例比较1次即 f (n) = 1)
解递推式,得到时间效率(主定理):若:
则:
应用例:
折半查找、合并排序、快速排序、大整数乘法、在序列A[1..n]中找最大最小元素的问题、循环锦标赛问题等
减治法:
定义:
利用给定规模与较小规模问题解之间的关系,从顶至下(递归) 或从底至上(非递归)求解问题的一种方法。减治法通常分为3种:
减常量法:常量通常为1即减1法,也有减2的(如奇偶数分别处理)
减常因子法:常因子通常为2(减半技术)。
减可变规模法。
例:
插入排序、深度优先与广度优先搜索、拓扑排序等
减治与分治的区别
变治法:
定义:变治法是一种通用的算法设计技术,基于变换的思想。
变:把问题变得更容易求解;
治:对变换后的问题求解。
变治策略有 3 种主要类型:
实例化简:变换为更简单的实例。如预排序。
改变表现:变换为不同表现实例。如AVL树,2-3树,堆。
问题化简:变换为另一个问题的实例。如数学建模,将具体应用问题
用变量、函数、方程这样的数学对象来表达。
动态规划:
定义:把求解过程分为一系列阶段,各个阶段依次按照最优性原则计算,最后阶段计算得到最优解。包括 分段、求解 两大步。(不能段化的问题不能用动态规划法求解)
动态的含义:
求解算法施加的状态是变化的。当前状态只与其直接前趋状态有关,对其直接前趋状态施加求解算法,成为当前状态。
最优性原则 (Principle of Optimality):
一个最优问题任何实例的最优解,是由该实例的子实例的最优解组成的。子实例组成父实例,父实例分解为子实例。
动态规划法的特点:
1. 分阶段(级)决策。对最优化问题,用最优性原则设计。
2. 一般采用自顶向下分析(规模减小),自底向上计算(规模增加)。计算过程是一级一级(一阶段一阶段)地向前推进,直到最终状态。
动态规划算法的基本要素:
最优子结构性质和重叠子问题。
最优子结构性质:
问题的最优解包含着它的子问题的最优解。即不管前面的策略如何,此后的决策必须是基于当前状态(由上一次决策产生)的最优决策。
重叠子问题:
在用递归算法自顶向下解问题时,每次产生的子
您可能关注的文档
- 福建省福州时代中学2013-2014学年下学期八年级期末数学考试.doc
- 离心风机节能改造方案.doc
- 离散数学实验四.doc
- 离散数学05任务.docx
- 禽用球面密封型乳头饮水器企业标准(161111修改).doc
- 秒的认识-小学三年级.doc
- 科技论文英语翻译修辞.doc
- 秘书原理与实务(下).docx
- 秸秆利用看“星美”.doc
- 秸秆生物反应堆技术规程.doc
- 2025年东方国际创业股份有限公司校园招聘85人公开引进高层次人才和急需紧缺人才笔试参考题库答案详解.docx
- 2025年东方国际创业股份有限公司校园招聘85人公开引进高层次人才和急需紧缺人才笔试参考题库答案详解.docx
- 2025年东岭集团股份有限公司校园招聘模拟试题附带答案详解及参考答案1套.docx
- 2025年东北轻合金有限责任公司校园招聘85人公开引进高层次人才和急需紧缺人才笔试参考题库答案详解版.docx
- 2025年生化化工药品技能考试-蒸发工考试近5年真题集锦(频考类试题)带答案.docx
- 2025年东北特钢集团北满特殊钢有限责任公司校园招聘85人公开引进高层次人才和急需紧缺人才笔试参考题.docx
- 2025年东北特殊钢集团校园招聘模拟试题附带答案详解汇编.docx
- 2025年生化化工药品技能考试-蒸馏工考试近5年真题荟萃附答案.docx
- 2025年东北特殊钢集团校园招聘85人公开引进高层次人才和急需紧缺人才笔试参考题库答案详解版附答案.docx
- 2025年东北特殊钢集团校园招聘85人公开引进高层次人才和急需紧缺人才笔试参考题库答案详解版必考题.docx
文档评论(0)