递归程序的设计优秀PPT.ppt
《递归程序的设计优秀PPT.ppt》由会员分享,可在线阅读,更多相关《递归程序的设计优秀PPT.ppt(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、递归程序的设计第一页,本课件共有21页栈的应用举例栈的应用举例栈的应用举例栈的应用举例递归递归递归递归1 递归的定义递归的定义子程序(或函数)直接调用自己或通过一系列调用语子程序(或函数)直接调用自己或通过一系列调用语句间接调用自己,是一种句间接调用自己,是一种描述问题描述问题和和解决问题解决问题的基本的基本方法。方法。2 递归的基本思想递归的基本思想问题分解:问题分解:把一个不能或不好解决的大问题转化为把一个不能或不好解决的大问题转化为一个或几个小问题,再把这些小问题进一步分解一个或几个小问题,再把这些小问题进一步分解成更小的小问题,直至每个小问题都可以直接解成更小的小问题,直至每个小问题都
2、可以直接解决。决。第二页,本课件共有21页3 递归的要素递归的要素 递归边界条件:递归边界条件:确定递归到何时终止,确定递归到何时终止,也称为递也称为递归出口;归出口;递归模式:大问题是如何分解为小问题的,也称递归模式:大问题是如何分解为小问题的,也称为递归体。为递归体。栈的应用举例栈的应用举例栈的应用举例栈的应用举例递归递归递归递归第三页,本课件共有21页例例1 1 阶乘函数阶乘函数递归算法递归算法int fact (int n)if(n=0)return 1;else return n*fact(n-1);-*=时时当当时时当当 )!1(1!n1n1nnn栈的应用举例栈的应用举例栈的应用举
3、例栈的应用举例递归递归递归递归第四页,本课件共有21页求解阶乘求解阶乘 n!n!的过程的过程计算计算 fact(4)计算计算 4*fact(3)计算计算 3*fact(2)计算计算 2*fact(1)计算计算 fact(1)递递归归调调用用回回回回归归归归求求求求值值值值返回返回 24返回返回 6返回返回 2返回返回1栈的应用举例栈的应用举例栈的应用举例栈的应用举例递归递归递归递归第五页,本课件共有21页递归过程与递归工作栈递归过程与递归工作栈递归过程在实现时,需要自己调用自己。递归过程在实现时,需要自己调用自己。层层向下递归,返回次序正好相反:层层向下递归,返回次序正好相反:递归调用递归调用
4、 n!(n-1)!(n-2)!1!=1 返回次序返回次序栈的应用举例栈的应用举例栈的应用举例栈的应用举例递归递归递归递归第六页,本课件共有21页递归函数的内部执行过程递归函数的内部执行过程每一次递归调用时,需要为过程中使用的参每一次递归调用时,需要为过程中使用的参数、局部变量等另外分配存储空间。数、局部变量等另外分配存储空间。每层递归调用需分配的空间形成递归工作每层递归调用需分配的空间形成递归工作记录,按后进先出的栈组织。记录,按后进先出的栈组织。局部变量局部变量返回地址返回地址值值 参参活动活动记录记录框架框架递归递归工作记录工作记录 运行开始时,首先为递归调用建立一个工作栈,其结运行开始时
5、,首先为递归调用建立一个工作栈,其结构包括构包括值参、局部变量和返回地址值参、局部变量和返回地址;每每次次执执行行递递归归调调用用之之前前,把把递递归归函函数数的的值值参参和和局局部部变量的当前值以及调用后的返回地址压栈;变量的当前值以及调用后的返回地址压栈;每每次次递递归归调调用用结结束束后后,将将栈栈顶顶元元素素出出栈栈,使使相相应应的的值值参参和和局局部部变变量量恢恢复复为为调调用用前前的的值值,然然后后转转向向返返回回地地址址指定的位置继续执行。指定的位置继续执行。栈的应用举例栈的应用举例栈的应用举例栈的应用举例递归递归递归递归第十一页,本课件共有21页哪些类型的问题适合于用递归方法求
6、解?必须同时具备以下两个条件:必须同时具备以下两个条件:1)一一个个问问题题可可以以化化解解为为若若干干个个性性质质相相同同,解解法法相相同同的的小小问问题题,而而小小问问题题还还可可以以分分解解为为更更小小的的问问题题,上上述述转转化化局局用用相相同的规律,并使问题逐步简化。同的规律,并使问题逐步简化。2)当当问问题题规规模模降降低低到到一一定定程程度度时时是是可可以以直直接接求求解解的的(终终止止条件),即存在明确的递归出口。条件),即存在明确的递归出口。据此,以下类型的问题可以考虑采用递归方法求解:据此,以下类型的问题可以考虑采用递归方法求解:1)数学上定位为递归的函数数学上定位为递归的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 递归 程序 设计 优秀 PPT
限制150内