算法第三章.ppt

算法第三章

吉林大学2006年 为了保证递归调用的正确性,需要保存调用点的现场(返回地 址、局部变量、被调用函数的参数等),以便正确地返回,并且按 先进后出的原则来管理这些信息。高级语言编译程序是利用栈来实现的。 f(n) f(n-1) f(n-2) f(1) f(0) 调用时执行入栈操作保存现场,返回时执行出栈操作恢复现场 计算 4 ! 递归过程图示: 下图中 Pi 代表现场信息,栈元素由现场信息和参数构成 f(4)=4*f(3) f(3)=3*f(2) f(2)=2*f(1) f(1)=1*f(0) f(0)=1 Push(e4) Push(e3) Push(e2) Push(e1) f(4)= 4 * f(3) f(3)= 3 *f(2) f(2)= 2 *f(1) f(1)= 1 * f(0) =24 =6 =2 =1 小结 递归算法的定义特点 递归算法设计方法要点 递归转非递归方法 递归算法时间复杂度分

文档评论(0)

1亿VIP精品文档

相关文档