- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目录
摘要……………………………………………………………………
引言……………………………………………………………………3、正文……………………………………………………………………
3.1 递归算法的特点………………………………………………… 3.2 递归算法的要求……………………………………………………
3.3 递归算法的过程……………………………………………………
3.4 实例分析……………………………………………………………
3.41 问题的提出……………………………………………………
3.42 问题的分析……………………………………………………
3.43 递归过程………………………………………………………
总结…………………………………………………………………
参考文献……………………………………………………………
关于递归算法的认识
【摘要】:递归思想是计算机科学的一个重要思想,递归方法是程序设计中的有效方法,它为程序设计者打开了一个全新的程序设计思路。采用递归思想编程,可以将一些貌似复杂的问题简单化,编写的程序更加简洁明了。
【关键词】递归算法 递推 递归出口
引言:递归算法都是通过自己调用自己,将求解问题转化成性质相同的子问题,最终达到求解的目的。在计算机程序设计中,递归算法对解决有些问题是十分有效的,它往往使算法的描述简洁而且易于理解,当使用非递归方法难于解决问题时,尝试用递归方法也许会给你带来意想不到的惊喜。著名的汉诺塔(Hanoi)问题,八皇后问题就是通过递归算法的思想来求解的。
正文:
递归算法是一种直接或者间接地调用自身算法的过程。 在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口。在计算机编写程序中,递归算法对解决一大类问题是十分有效的,它往往使算法的描述简洁而且易于理解。递归调用是一种特殊的HYPERLINK /view/1265502.htm嵌套调用,是某个HYPERLINK /view/2369016.htm函数调用自己,而不是另外一个函数。递归调用一种解决方案,一种是逻辑思想,将一个大工作分为逐渐减小的小工作,比如说一个和尚要搬50块石头,他想,只要先搬走49块,那剩下的一块就能搬完了,然后考虑那49块,只要先搬走48块,那剩下的一块就能搬完了……,递归是一种思想,只不过在程序中,就是依靠函数嵌套这个特性来实现了。
递归算法的特点
递归算法是一种直接或者间接地调用自身算法的过程。在计算机编写程序中,递归算法对解决一大类问题是十分有效的,它往往使算法的描述简洁而且易于理解。递归算法解决问题的特点;
递归就是在过程或函数里调用自身。
在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口。 (3)递归算法解题通常显得很简洁,但递归算法解题的运行效率较低。一般不提倡用递归算法设计程序。
(4) 在HYPERLINK /view/1265506.htm递归调用的过程当中系统为每一层的返回点、局部量等开辟了栈来存储。递归次数过多容易造成HYPERLINK /view/2061755.htm栈溢出等。所以一般不提倡用递归算法设计程序。
递归算法要求
递归算法所体现的“重复”一般有三个要求:一是每次调用在规模上都有所缩小(通常是减半);二是相邻两次重复之间有紧密的联系,前一次要为后一次做准备(通常前一次的输出就作为后一次的输入);三是在问题的规模极小时必须用直接给出解答而不再进行HYPERLINK /view/1265506.htm递归调用,因而每次递归调用都是有条件的(以规模未达到直接解答的大小为条件),无条件递归调用将会成为死循环而不能正常结束。
递归过程
递归过程是直接调用自己或通过一系列的过程调用语句直接调用自己的过程。在一个过程的运行期间调用另一个过程时,在执行被调用过程之前,系统要先把所有的实在参数返回地址等信息传递给被调用的过程保存,为被调用过程的局部变量分配存储空间,将控制转移到被调用入口。然后从被调用过程返回调用过程要保存被调用过程的计算结果,释放被调用过程的数据区,依照被调用保存的返回地址将控制转移到调用过程,该过程服从后调用先返回的原则。
下面我们通过棋子移动问题来理解下递归算法:
问题的提出 :
棋子移动问题: 有2n个棋子(n=4)排成一行,白子用0代表,黑子用1代表,n=5的初始状态为 0 0 0 0 0 1 1 1 1 1 1--(右边至少有两个空位)移动的规则是:每次必须同时移动相邻两个棋子,颜色不限,移动方向不限;每次移动必须跳过若干个棋子。要求最后成为
0 1 0 1 0 1 0 1 0 1
问题分析:
n=4 0
您可能关注的文档
- 铁路轨道车接触网作业车.doc
- 防火督查情况报告.doc
- 项目工程质量三检制度完整版及检查表格.doc
- 饰面板类装饰材料在各类建筑及装饰空间中的应用.docx
- 高速公路工程监理招标文件.doc
- 鲤鱼塘水库水利枢纽.doc
- 黄州城区社会治安视频监控系统升级改造工程建议资料V3.docx
- 一个小型电子商务.doc
- 一种新型的基于Web的在线考试系统的计算机科学教育.doc
- 万年历系统C++.doc
- 2024年浙江绍兴市文化广电旅游局下属事业单位招聘高层次人才3人笔试高频难、易错点备考题库及完整答案.docx
- 2024年浙江省退役军人事务厅所属部分事业单位招聘4人笔试高频难、易错点备考题库及答案详解一套.docx
- 2024年浙江杭州建德市医疗卫生事业单位招聘18人笔试高频难、易错点备考题库含答案详解.docx
- 2024年浙江温州苍南县质量技术监督检测院招聘食品检测工作人员笔试高频难、易错点备考题库及参考答案详.docx
- 2024年浙江温州市公安局洞头区分局第四期招聘编外用工6人笔试备考题库附答案详解.docx
- 2024年浙江省有色金属地质勘查院选调专业技术人员笔试备考题库带答案详解.docx
- 2024年浙江省第七地质大队选调专业技术人员笔试高频难、易错点备考题库及参考答案详解.docx
- 2024年浙江杭州市萧山区第四次机关事业单位招聘编外人员51人笔试高频难、易错点备考题库及参考答案详.docx
- 2024年浙江舟山市卫生健康委员会部分直属事业单位招聘50人(第二批)笔试高频难、易错点备考题库及参.docx
- 2024年浙江温州市龙湾区云软件谷发展服务中心引进紧缺高层次人才笔试高频难、易错点备考题库及完整答案.docx
最近下载
- 《产品几何技术规范(GPS)+几何公差+检测与验证GBT+1958-2017》全文详细解读.pptx
- 16D303-2:常用风机控制电路图.pdf VIP
- 排版设计岗位招聘笔试题(某大型央企)题库精析.docx VIP
- 统编版五年级语文上册《第三单元主题阅读—民间故事》同步练习题及答案.docx VIP
- 2025年中国半乳甘露聚糖项目创业计划书.docx
- (word)公务员村官事业单位考试公文改错题及答案.doc VIP
- 检测结果解释与报告程序.doc VIP
- (29)--第五章中耕机械农业机械学农业机械学.ppt VIP
- FANUC工业机器人系统集成与应用 第5章 机器人外部轴控制.ppt VIP
- 更新版GSP单体药店质量管理制度及岗位职责及操作规程.doc VIP
文档评论(0)