递归的概念与基本思想示例.pptVIP

  • 3
  • 0
  • 约3.15千字
  • 约 17页
  • 2017-10-16 发布于天津
  • 举报
递归的概念与基本思想示例

递归的概念与基本思想 采用递归方法编写的问题解决程序具有结构清晰,可读性强等优点,且递归算法的设计比非递归算法的设计往往要容易一些,所以 当问题本身是递归定义的,或者问题所涉及到的数据结构是递归定义的,或者是问题的解决方法是递归形式的时候,往往采用递归算法来解决。 递归可以转化为非递归 递归转化为非递归的方法有很多,最标准的方法就是利用栈来实现。关键在于我们要掌握递归算法的实质:重复执行相同的算法,但其处理的数据发生了变化,因此对许多递归程序,我们可以用循环结构来完成,只要处理好变量、地址等关系就可以将递归转化为非递归。 递归的基本思想 一般来说,递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回。因此,在考虑使用递归算法编写程序时,应满足两点: 1)该问题能够被递归形式描述;(且是有限次的) 2)存在递归结束的边界条件。    递归的能力在于用有限的语句来定义对象的无限集合。用递归思想写出的程序往往十分简洁易懂。 但在用递归算法时,只要输入的n值稍大,程序求解就很困难, 而递推则效率高很多。如果将自然数n的范围扩大到1500以内,则用递归算法递归调用的次数过多,在求800以上的数的时候就会出现困难,但用递推却可以大大缩小问题的规模。 var f0,f1,f2:real; ??? i,n:byte; begin ???

文档评论(0)

1亿VIP精品文档

相关文档