算法分析与设计5.ppt
《算法分析与设计5.ppt》由会员分享,可在线阅读,更多相关《算法分析与设计5.ppt(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、陈卫东华南师范大学计算机科学系Algorithms:Design Techniques and Analysis 算法设计算法设计技巧与分析技巧与分析12/31/20220 Chapter 5 InductionnIntroductionnRadix SortnInteger ExponentiationnEvaluating Polynomials nGenerating PermutationsnFinding the Majority Element12/31/20221 Introductionn递归算法的基本模式(求解问题)n递归算法的 优点n例1 选择排序n例2 直接插入排序12/
2、31/20222递归算法的基本模式(求解问题)递归算法的基本模式(求解问题)1.n=1,f(1)(直接求解);2.若f(k)(kn)可求,则 利用f(1)、f(n-1)得f(n)。注:一般来说,求f(k)(k1,利用f(1)、f(n-1)求得f(n);注:关键步骤是由f(1)、f(n-1)得到f(n)。其正确性可使用归纳法归纳法来证明。12/31/20224递归算法的特点递归算法的特点递归算法的优点:1.读写简明;2.算法的正确性易于用数学归纳法来证;3.算法的复杂性往往可利用递归关系来分析缺点:1.算法的执行流程不易理解;2.递归调用往往需要额外的时空开销12/31/20225例例1 选择排
3、序选择排序n算法的基本框架:Ain排序排序 若若ni,将将Ain中中最小元素找出,并换至最小元素找出,并换至Ai处;处;Ai+1n排序排序;n算法递归调用图算法递归调用图n算法的时空复杂性分析算法的时空复杂性分析12/31/20226例例2 直接插入排序直接插入排序n算法的基本框架:A1i排序排序 若若i1,A1i-1排序排序;将将Ai插入到插入到A1i-1中的适当位置处;中的适当位置处;n算法递归调用图算法递归调用图n算法的时空复杂性分析算法的时空复杂性分析12/31/20227Radix Sort(基数排序)基数排序)n问题:问题:要要求求对对 n个个数数的的序序列列L=a1,a2,an进
4、进行行排排序序,其其中中每个数恰好由每个数恰好由k位数字组成,每位数字均取自位数字组成,每位数字均取自0,1,9。n算法思想:对于对于k使用归纳法。使用归纳法。n例子nAlgorithm 5.3 RADIXSORTn算法的时空复杂性分析算法的时空复杂性分析 时间复杂度:(kn)空间复杂度:(n)12/31/20228Integer Exponentiation(求整数次幂求整数次幂)n问题:问题:求实数求实数x的的n次幂,即次幂,即xn,其中其中n为一个非负整数。为一个非负整数。n算法思想 计算计算xn 计算计算xm;/m=n/2 若若n是是偶数,则偶数,则xn=(xm)2,若若n是是奇数,则
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 分析 设计
限制150内