版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2020/7/15,0,陈卫东 华南师范大学计算机科学系,Algorithms :Design Techniques and Analysis 算法设计技巧与分析,2020/7/15,1,Chapter 5 Induction,Introduction Radix Sort Integer Exponentiation Evaluating Polynomials Generating Permutations Finding the Majority Element,2020/7/15,2,Introduction,递归算法的基本模式(求解问题) 递归算法的 优点 例1 选择排序 例2 直接
2、插入排序,2020/7/15,3,递归算法的基本模式(求解问题),1. n=1, f(1) (直接求解); 2. 若f(k)(kn)可求,则 利用f(1)、f(n-1)得f(n)。 注:一般来说,求f(k)(kn)比求f(n)容易。若有办法由f(1)、f(n-1)得到f(n)即可。 归纳原理,2020/7/15,4,递归算法的基本模式(求解问题),递归算法的框架: f(n) n=1, f(1) (直接求解); n1, 利用f(1)、f(n-1)求得f(n); 注:关键步骤是由f(1)、f(n-1)得到f(n)。 其正确性可使用归纳法来证明。,2020/7/15,5,递归算法的特点,递归算法的优
3、点: 1. 读写简明; 2. 算法的正确性易于用数学归纳法来证; 3. 算法的复杂性往往可利用递归关系来分析 缺点: 1. 算法的执行流程不易理解; 2. 递归调用往往需要额外的时空开销,2020/7/15,6,例1 选择排序,算法的基本框架: Ain排序 若ni, 将Ain中最小元素找出,并换至Ai处; Ai+1n排序; 算法递归调用图 算法的时空复杂性分析,2020/7/15,7,例2 直接插入排序,算法的基本框架: A1i排序 若i1, A1i-1排序; 将Ai插入到A1i-1中的适当位置处; 算法递归调用图 算法的时空复杂性分析,2020/7/15,8,Radix Sort(基数排序)
4、,问题: 要求对 n个数的序列L=a1, a2 , , an进行排序,其中每个数恰好由k位数字组成,每位数字均取自0,1,9。 算法思想:对于k使用归纳法。 例子 Algorithm 5.3 RADIXSORT 算法的时空复杂性分析 时间复杂度: (kn) 空间复杂度: (n),2020/7/15,9,Integer Exponentiation(求整数次幂),问题: 求实数x的n次幂,即xn ,其中n为一个非负整数。 算法思想 计算xn 计算xm ; / m=n/2 若n是偶数,则xn =(xm)2, 若n是奇数,则xn =x(xm)2 Algorithm 5.4 EXPREC Algori
5、thm 5.5 EXP 算法的时空复杂度: (log n),2020/7/15,10,Evaluating Polynomials(多项式求值),问题: 求下列实系数多项式的值: Pn(x)=anxn+ an-1xn-1 + + a1x + a0 算法思想(Horners rule) Pn(x)= xPn-1(x) + a0 Algorithm 5.6 HORNER 算法的时空复杂性分析 时间复杂度: (n),2020/7/15,11,Generating Permutations(生成排列),问题: 要求产生1,2,n的所有排列。 算法1 算法思想 12,3,n的排列, 21,3,n的排列,
6、 n1,2,n-1的排列。 Algorithm 5.7 PERMUTATIONS1 算法时间复杂度: (nn!),2020/7/15,12,Generating Permutations(生成排列),算法2 算法思想 n n , n。 Algorithm 5.8 PERMUTATIONS2 算法时间复杂度: (nn!),2020/7/15,13,Finding the Majority Element(找主元素),问题 序列A1.n中是存在主元素?若有请找出来。 注:A中主元素是指在A中出现次数多于n/2次的元素。 算法1:穷举法(the brute-force method) 时间复杂度:
7、(n2) 算法2:排序法 时间复杂度: (n log n) 算法3:找中元素法(finding the median) 时间复杂度: (n),2020/7/15,14,Finding the Majority Element(找主元素),算法4: 算法思想 Observation 5.1 If two different elements in the original sequence are removed, then the majority in the original sequence remains the majority in the new sequence. Algorithm
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家庭自制腌菜安全食用时长科普课
- 造纸厂纸张质量准则
- 交通安全标识认知科普课件
- 三年级数学计算题专项练习汇编及答案集锦
- 某矿山企业生产管理办法
- 某制药厂实验室管理准则
- 2027届江苏无锡市锡中学实验学校数学八年级第一学期期末考试模拟试题含解析
- 2027届河北省保定唐县联考物理八上期末监测模拟试题含解析
- 某电子厂生产计划办法
- 山东省青岛黄岛区七校联考2026年八年级数学第一学期期末质量跟踪监视试题含解析
- 2026年高考新高考二卷数学题库试题附答案完整版
- 2025年新版麻醉记录单
- WindowsServer网络操作系统项目教程(WindowsServer2019)- 教案 项目1-3 认识网络操作系统 -部署与管理Active Directory域服务环境
- 生产现场员工品质培训
- DB41∕T 2886-2025 矿产地质勘查规范 花岗伟晶岩型高纯石英矿
- GB/T 46470-2025皮革色牢度试验颜色迁移到聚合物上的色牢度
- 108.动物产地检疫中协作检疫案例分析
- 军事体育训练的热身与放松
- GB/T 9869.3-2025橡胶用硫化仪测定硫化特性第3部分:无转子硫化仪
- 广东省广州市越秀区2023-2024学年五年级下学期数学期末试卷
- 广西桂林市2024-2025学年下学期七年级期末语文试卷(含解析)
评论
0/150
提交评论