第3章_2栈和队列.pptVIP

  • 3
  • 0
  • 约 49页
  • 2016-08-28 发布于重庆
  • 举报
第3章_2栈和队列

第三章 栈和队列 3.3 栈与递归的实现 递归实例 一个古老的故事: 从前有座山,山上有座庙,庙里有个老和尚在给小和尚讲故事, 讲的什么故事呢? 从前有座山,山上有座庙,庙里有个老和尚在给小和尚讲故事, ………… 套娃:俄罗斯民间工艺品 3.3 栈与递归的实现 想一想:递归的本质是什么? 自身对自身的调用 想一想:递归与迭代(递推)的区别是什么? 递归:自身调用自身——嵌套调用(使用选择结构) 若要求解问题n,需先求解问题n-1 迭代:返回值作为新的参数——循环求迭代变量值 利用n,求n+1 3.3 栈与递归的实现 简单递归算法举例 求n的阶乘 公式 写成递归函数有: Int fact(int n) { if (n==0) return 1; else return n*fact(n-1); } 迭代 Int fact(int n) { fac=1; for(i=1;i=n;i++) fac=i*fac; return fac; } 3.3 栈与递归的实现 递归算法的思想 要解决规模为n的问题,可通过解决规模为n-1的问题实现; 当问题规模为1(或某一确定值)时,问题直接可解。 该思想类似于数学归纳法思想。 3.3 栈与递归的实现 汉诺塔问题 3.3 栈与

文档评论(0)

1亿VIP精品文档

相关文档