函数递归部分2008.pptVIP

  • 1
  • 0
  • 约1.96千字
  • 约 52页
  • 2016-07-21 发布于广东
  • 举报
第五章 函数--递归;递归的概念 递归过程 递归程序设计;1.递归的概念;问题?:能否根据定义: ;;递归可以分为直接递归和间接递归两种。 直接递归:函数体里面发生对自己的调用; 间接递归:函数A调用函数B,而函数B又直接或间接地调用函数A。 ;2.递归过程;下面画出了求f(2)时调用和返回的递归示意图;2.递归过程;2.递归过程;从栈的变化角度看f(2)调用过程;求f(6)的递归调用过程;2.递归过程;2.递归过程;2.递归过程;2.递归过程;什么样的问题可以用递归解决? 如果解决问题的方法是把该问题分解成小的子问题,并且这些小的子问题可以用同样的算法解决,当分解到可以解决的比较简单的子问题时分解过程即终止,那么就可以用递归。 递归的思想就是将一个问题先转化为与原问题性质相同、但规模小一级的新问题,然后再重复这样的转化,直到问题的规模减小到我们很容易解决为止。 ;一般来说,递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回。 如何设计递归算法: 1)对所求解的问题、要计算的函数书写出其递归 定义;注意一定要有终止条件和操作。 2)正确地设计参数。 注意:递归算法最外层肯定采用的是选择结构!为 什么?;练习1.求x的n次幂。函数 可定义如下:;递归程序设计举例;递归程序设计举例;递归

文档评论(0)

1亿VIP精品文档

相关文档