目录
摘要……………………………………………………………………
引言……………………………………………………………………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
- 2025年版汽车趋势报告 The 2025 EPA Automotive Trends Report.docx
- 2026年边缘计算开源平台EdgeX Foundry入门与二次开发.docx
- 2026年超声内镜放大内镜早癌诊断AI辅助识别系统临床评价.docx
- 2026年报废汽车回收与再制造逆向物流体系.docx
- 2026年产品碳足迹核算方法学:从摇篮到大门与从摇篮到坟墓.docx
- 2026年城乡要素平等交换双向流动政策创新试点申报材料.docx
- 2026年超导半导体接口电路架构与电平转换驱动器设计.docx
- 2026年财政贴息不再以再贷款支持为前提后的风险防范与合规要点.docx
- 2026年不动产信托登记试点政策对遗嘱信托支持.docx
- 2026年城乡有机废弃物协同处理技术方案.docx
原创力文档

文档评论(0)