- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话: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
- 2022年11月连江县直机关遴选公务员面试真题带答案详解.docx
- 2022年11月遵义市直遴选面试真题回忆版.docx
- 2022年2月伊春市税务系统遴选面试真题回忆版.docx
- 2022年11月朔州市税务系统遴选面试真题回忆版汇总.docx
- 2022年2月秦皇岛市税务系统遴选面试真题回忆版汇总.docx
- 2022年2月焦作市直机关遴选公务员面试真题附详解.docx
- 2022年11月黑龙江省直机关遴选公务员面试真题附详细解析.docx
- 2022年2月潍坊市直机关遴选公务员面试真题附解析.docx
- 2022年2月大同市直遴选面试真题附详解.docx
- 2022年2月巴音郭楞蒙古自治州直机关遴选公务员面试真题带题目详解.docx
最近下载
- 微能WIN-9变频器说明书使用手册.pdf
- 支气管扩张临床路径.docx VIP
- 长方体、正方体表面积和体积专项练习50题(有答案)ok .pdf VIP
- 吉林省长春市东北师范大学附属中学净月实验学校2023-2024学年高一上学期期中质量监测数学试卷(解析).docx VIP
- 2025至2030年中国拉面粉行业投资前景及策略咨询研究报告.docx
- 人教版一二三年级生字表(全) .pdf VIP
- 22J403-1 楼梯 栏杆 栏板(一) (3).pdf VIP
- 高校学科建设的概念与内涵 .pdf VIP
- T∕ZZB 1299-2019 电动剃须刀用提拉须圆刀.docx VIP
- 鲁教版五四制六年级数学下册第七章达标检测卷附答案 .pdf VIP
文档评论(0)