2.递归调用的内部过程 【算法2-1】中求阶乘的问题,假设程序运行时,n=4,那么程序的执行过程。 从上面可以看出,递归调用的过程分为两个阶段: 1)递归过程:将原始问题不断转化为规模小了一级的新问题,从求4!变成求3!,变成求2!,最终达到递归终结条件,求1!; 2)回溯过程:从已知条件出发,沿递归的逆过程,逐一求值返回,直至递归初始处,完成递归调用。 2.递归调用的内部过程 在这两个阶段中,系统会分别完成一系列的操作。在递归调用之前,系统需完成三件事: 为被调用过程的局部变量分配存储区; 将所有的实参、返回地址等信息传递给被调用过程保存; 将控制转移到被调过程的入口。 从被调用过程返回调用过程之前,系统也应完成三件工作: 保存被调过程的计算结果; 释放被调过程的数据区; 依照被调过程保存的返回地址将控制转移到调用过程。 在计算机中,是通过使用系统栈(后面的章节会介绍“栈”)来完成上述操作的。 1.4.3 递归转换为非递归 1.递归转化为递推 当递归算法所涉及的数据定义形式是递归的情况下,通常可以将递归算法转化为递推算法,用递归的边界条件作为递推的边界条件。比如求阶乘、斐波那契数列等。 递推也是一种从已知条件出发,用一种具体的算法,一步一步接近未知,一般采用循环结构,经常和枚举配合使用。递推算法在求解的过程
您可能关注的文档
- 第1章建筑CAD概述全解.ppt
- 第1章常用低压控制电器全解.ppt
- 第1章市场营销导论全解.ppt
- 第1章微型计算机概述全解.ppt
- 第1章建筑制图基本知识全解.ppt
- 第1章微机基础知识全解.ppt
- 第1章总论全解.ppt
- 第1章数制与码制全解.ppt
- 第1章数制与编码全解.ppt
- 第1章打开心灵之门全解.ppt
- 浙江省温州市苍南县2024-2025学年八年级下学期期末数学试题(含答案).pdf
- 【生物卷+答案】江苏苏州市2026届高三下学期考前学情自测.pdf
- 【化学卷+答案】江苏苏州市2026届高三下学期考前学情自测.pdf
- 浙江省舟山市2024-2025学年八年级下学期学科素养监测数学试题卷(含答案).pdf
- 浙江省舟山市2024-2025学年八年级下学期学科素养监测数学试题卷(含答案).docx
- 【政治卷+答案】江苏苏州市2026届高三下学期考前学情自测.pdf
- 2026年普通高中毕业班考前冲刺题数学(二)参考答案.pdf
- 浙江省舟山市2024-2025学年下学期八年级学科素养监测 数学试题卷(含答案).pdf
- 浙江省舟山市2024-2025学年下学期八年级学科素养监测 数学试题卷(含答案).docx
- 社区姑息护理:临终关怀的实施.pptx
最近下载
- 数轴上的距离尺——核心素养视域下初中数学七年级绝对值概念建构与几何直观培养教案.docx VIP
- GB50086-2015 岩土锚杆与喷射混凝土支护工程技术规范.docx
- 2026年中考物理考前最后一课(原卷版).docx VIP
- 高三为高考祈福的励志语句分享.doc VIP
- 冀教版初中英语短语总结.doc VIP
- 2025 七年级数学上册几何直观素养培养课件.pptx VIP
- 宣贯培训(2026年)《GBT 13663.3-2018给水用聚乙烯(PE)管道系统 第3部分:管件》.pptx VIP
- 任务配送中心的平面布局(46页).ppt VIP
- 食品保藏原理教学课件电子教案全套课件.pptx VIP
- 2025 八年级数学上册核心素养几何直观培养课件.pptx
原创力文档

文档评论(0)