- 1、本文档共76页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第2章递归与分治策略;学习要点:
理解递归的概念。
掌握设计有效算法的分治策略。
通过下面的范例学习分治策略设计技巧。
(1)二分有哪些信誉好的足球投注网站技术;
(2)大整数乘法;
(3)Strassen矩阵乘法;
(4)棋盘覆盖;
(5)合并排序和快速排序;
(6)线性时间选择;
(7)最接近点对问题;
(8)循环赛日程表。
;分治法概述;分治算法总体思想;算法总体思想;算法总体思想;算法总体思想;2.1递归的概念;2.1递归的概念;2.1递归的概念;2.1递归的概念;2.1递归的概念;2.1递归的概念;;2.1递归的概念;2.1递归的概念;例3Ackerman函数;例3Ackerman函数;例3Ackerman函数;例3Ackerman函数;2.1递归的概念;2.1递归的概念;2.1递归的概念;2.1递归的概念;2.1递归的概念;2.1递归的概念;(2)q(n,m)=q(n,n),m?n;
最大加数n1实际上不能大于n。因此,q(1,m)=1。
;(2)q(n,m)=q(n,n)m=n;m不能大于n。;2.1递归的概念;2.1递归的概念;在问题规模较大时,较难找到一般的方法,因此我们尝试用递归技术来解决这个问题。
;递归小结;解决方法:
在递归算法中消除递归调用,使其转化为非递归算法。
1.采用一个用户定义的栈来模拟系统的递归调用工作栈。该方法通用性强,但本质上还是递归,只不过人工做了本来由编译器做的事情,优化效果不明显。
2.用递推来实现递归函数。
3.通过变换能将一些递归转化为尾递归,从而迭代求出结果。
后两种方法在时空复杂度上均有较大改善,但其适用范围有限。;尾递归:
尾递归是指一个函数的最后一个操作是递归调用自身。在尾递归中,递归调用是函数的最后一条语句,不会再有其他的操作。
尾递归的特点是,每次递归调用时不需要保存其他状态信息,因为在递归返回时不再需要这些信息。这意味着尾递归函数可以被优化为迭代形式,而不会导致堆栈溢出。
例:阶乘递归;2.2分治法的基本思想
分治法的适用条件;divide-and-conquer(P)
{
if(|P|=n0)adhoc(P);//解决小规模的问题
dividePintosmallersubinstancesP1,P2,...,Pk;//分解问题
for(i=1,i=k,i++)
yi=divide-and-conquer(Pi);//递归的解各子问题
returnmerge(y1,...,yk);//将各子问题的解合并为原问题的解
};2.2分治法的基本思想
分治法的复杂性分析;2.3二分有哪些信誉好的足球投注网站技术;分析:如果n=1即只有一个元素,则只要比较这个元素和x就可以确定x是否在表中。因此这个问题满足分治法的第一个适用条件;分析:比较x和a的中间元素a[mid],若x=a[mid],则x在L中的位置就是mid;如果xa[mid],由于a是递增排序的,因此假如x在a中的话,x必然排在a[mid]的前面,所以我们只要在a[mid]的前面查找x即可;如果xa[i],同理我们只要在a[mid]的后面查找x即可。无论是在前面还是后面查找x,其方法都和在a中查找x一样,只不过是查找的规模缩小了。这就说明了此问题满足分治法的第二个和第三个适用条件。;2.3二分有哪些信誉好的足球投注网站技术;2.4大整数的乘法;2.4大整数的乘法;2.4大整数的乘法;2.4大整数的乘法;2.5Strassen矩阵乘法;2.5Strassen矩阵乘法;2.5Strassen矩阵乘法;2.5Strassen矩阵乘法;2.5Strassen矩阵乘法;2.6棋盘覆盖;2.6棋盘覆盖;2.6棋盘覆盖;2.6棋盘覆盖;2.7合并排序;2.7合并排序;2.7合并排序;2.7合并排序;2.8快速排序;2.8快速排序;templateclassType
intRandomizedPartition(Typea[],intp,intr)
{
inti=Random(p,r);
Swap(a[i],a[p]);
returnPartition(a,p,r);
};2.8快速排序;2.9线性时间选择;2.9线性时间选择;2.9线性时间选择;将n个输入元素划分成?n/5?个组,每组5个元素,只可能有一个组不是5个元素。用任意一种排序算法,将每组中的元素排好序,并取出每组的中位数,共?n/5?个。
递归调用select来找出这?n/5?个
您可能关注的文档
- 20-Diffie-Hellman密钥交换的中间人攻击实现.doc
- 课程设计说明书模板参考-2017711-y.doc
- 1-古典密码演示工具的实现.doc
- 2-古典密码破解的实现 .doc
- 3-PKCS5填充算法的实现.doc
- 4-分组密码工作模式的实现.doc
- 5-文件哈希计算器的实现.doc
- 6-基于HMAC算法的消息认证实现.doc
- 7-个人密码管理系统的实现.doc
- 8-用户密码管理系统的实现.doc
- 红餐研究院:餐饮行业月度观察报告(2024年5月).pdf
- 【港交所】中国金融投资管理 二零二四年中期报告.pdf
- 数学-广东省茂名市2025年高三第一次模拟试卷和答案(茂名一模).docx
- 中国美国商会社会影响力报告 2024.pdf
- 数学-2025届金丽衢十二校高三上学期第一次联考试题+答案.docx
- 中国美国商会社会影响力报告 2023.pdf
- 碳捕集技术发展前沿与趋势预测.pdf
- 数学-广东省肇庆市2025届高三第二次模拟试卷和答案(肇庆二模).docx
- 英语-广东省茂名市2025年高三第一次模拟试卷和答案(茂名一模).docx
- 语文-广东省肇庆市2025届高三第二次模拟试卷和答案(肇庆二模).docx
最近下载
- 数码相机-SONY索尼-HDR-SR1E说明书.pdf
- 数学的发展历程.pptx
- 医药销售年终总结PPT.pptx
- 多维阅读第5级SmokeJumpersHelp消防队在行动方芳-完整版PPT课件.pptx
- 日本大学2015留学.ppt
- 高标准农田假设检验批表格.doc VIP
- 2024年湖北省烟草专卖局(公司)招聘笔试真题.docx VIP
- 课题申报书:家校共育背景下儿童社会情感能力的异质性发展机制及促进研究.docx VIP
- 2025年八省联考陕西高考生物试卷真题答案详解(精校打印).pdf VIP
- Unit 1 Meeting New Friends (教学设计)-2024-2025学年闽教版英语五年级上册.docx
文档评论(0)