算法分析复习资料.ppt
《算法分析复习资料.ppt》由会员分享,可在线阅读,更多相关《算法分析复习资料.ppt(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1.算法的五个基本特征包括输入、输出、算法的五个基本特征包括输入、输出、能行性和、能行性和 。2.算法分析时通常只考虑三种情况下的时间复杂性,实践表明可操作性最好且最有算法分析时通常只考虑三种情况下的时间复杂性,实践表明可操作性最好且最有实用价值的是实用价值的是 情况下的时间复杂性。情况下的时间复杂性。3.将复杂问题按照某种方式分解成若干个规模较小、相互独立且与原问题类型相同将复杂问题按照某种方式分解成若干个规模较小、相互独立且与原问题类型相同的子问题进而求解的方法称为的子问题进而求解的方法称为 法。法。4.利用最优子结构,自底向上从子问题的最优解逐步构造出整个问题的最优解,这利用最优子结构,
2、自底向上从子问题的最优解逐步构造出整个问题的最优解,这种算法称为种算法称为 法。法。5.动态规划算法的两个基本要素是动态规划算法的两个基本要素是 和和 。6.在解决最优化问题的求解过程中,采用一种局部最优策略,把问题范围和规模缩在解决最优化问题的求解过程中,采用一种局部最优策略,把问题范围和规模缩小,最后把每一步的结果合并起来得到一个全局最优解,这种算法称为小,最后把每一步的结果合并起来得到一个全局最优解,这种算法称为 法。法。7.法在问题的解空间树中,按深度优先策略,从根结点出发搜索解空间法在问题的解空间树中,按深度优先策略,从根结点出发搜索解空间树树8.法在问题的解空间树中,按广度优先策略
3、,从根结点出发搜索解空间法在问题的解空间树中,按广度优先策略,从根结点出发搜索解空间树树1、请回答:什么是算法请回答:什么是算法?算法?算法应具有哪些重要特性应具有哪些重要特性?2、阐述算法与程序的联系与区别阐述算法与程序的联系与区别。3、影响影响一个程序运行时间的因素有哪些?一个程序运行时间的因素有哪些?4、简述贪心算法的思想策略、算法特点,以及它所具有的两、简述贪心算法的思想策略、算法特点,以及它所具有的两种性质各是什么?种性质各是什么?5、简要说明贪心算法的两个基本要素。简要说明贪心算法的两个基本要素。6、请请说明回溯法和分支限界法的不同之处。说明回溯法和分支限界法的不同之处。7、设计设
4、计一个动态规划算法,一个动态规划算法,通常通常采用的步骤有哪些?采用的步骤有哪些?渐近时间复杂度渐近时间复杂度渐近时间复杂度渐近时间复杂度 使用使用O、o等等记号表示的算法时间复杂度函记号表示的算法时间复杂度函数的数量级别,称为数的数量级别,称为算法的渐近时间复杂度算法的渐近时间复杂度算法的渐近时间复杂度算法的渐近时间复杂度2.2.1 大大O记号记号定义定义定义定义2-12-1 设设函函数数f(n)和和g(n)是是定定义义在在非非负负整整数数集集合合上上的的正正函函数数,如如果果存存在在两两个个正正常常数数c和和n0,使使得得当当nn0时时,有有f(n)cg(n),则则称称当当n充充分分大大时
5、时,函函数数f(n)上上有有界界,且且g(n)是是它它的的一一个个上上界界。也也可可以以说说f(n)的的阶阶不不高高于于g(n)的的阶阶。记记做做f(n)=O(g(n),称称为为大大O记记号号(big Oh notation)。)。2.2.2 记号记号定义定义定义定义2-22-2 设设有有函函数数f(n)和和g(n)是是定定义义在在非非负负整整数数集集合合上上的的正正函函数数,如如果果存存在在两两个个正正常常数数 c和和n0,使使得得当当nn0时时,有有f(n)cg(n),则则称称当当n充充分分大大时时,函函数数f(n)下下有有界界,且且g(n)是是它它的的一一个个下下界界。也也可可以以说说f
6、(n)的的阶阶不不低低于于g(n)的的阶阶。记记做做f(n)=(g(n),称称为为 记记记记号号号号(omega notation)。)。2.2.3 记号记号定义定义定义定义2-3 2-3 2-3 2-3 设设有有函函数数f f(n n)和和g g(n n)是是定定义义在在非非负负整整数数集集合合上上的的正正函函数数,如如果果存存在在正正常常数数c c1 1,c c2 2和和n n0 0,使使得得当当n nn n0 0时时,有有c c1 1 g g(n n)f f(n n)c c2 2 g g(n n),则则记记做做f f(n n)=(g g(n n),称为,称为 记号(记号(Theta no
7、tationTheta notation)。)。(g(n)代表一类函数,表示所有与代表一类函数,表示所有与g(n)增长阶数相同增长阶数相同的函数。的函数。如果一个算法的时间复杂度如果一个算法的时间复杂度f(n)=(g(n),说明当,说明当n足足够大时,该算法的运行时间大约为够大时,该算法的运行时间大约为g(n)的某个常数倍。的某个常数倍。证明:证明:(1)f(n)=20n+logn,g(n)=n+log(1)f(n)=20n+logn,g(n)=n+log3 3n n确定函数确定函数确定函数确定函数f(n)f(n)f(n)f(n)和和和和g(n)g(n)g(n)g(n)的渐进关系(用的渐进关系
8、(用的渐进关系(用的渐进关系(用O O O O、表示)表示)表示)表示)(2)f(n)=n(2)f(n)=n2 2/logn,g(n)=nlog/logn,g(n)=nlog2 2n n练习练习1、求函数的渐进表达式、求函数的渐进表达式(1)3n2+10n(2)n2/10+2n(3)21+1/n(4)logn3(5)10log3n2 2、确定函数、确定函数、确定函数、确定函数f(n)f(n)和和和和g(n)g(n)的渐进关系(用的渐进关系(用的渐进关系(用的渐进关系(用OO、表表表表示)示)示)示)(1 1)f(n)=lognf(n)=logn2 2;g(n)=log(n+5);g(n)=lo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 分析 复习资料
限制150内