- 0
- 0
- 约1.56万字
- 约 61页
- 2016-12-21 发布于河南
- 举报
3.4.1 递归的概念 1、递归的定义 递归是一个数学概念,递归函数即自调用函数,在函数体内直接或间接地自己调用自己。递归本质上也是一种循环的程序结构,它把“较复杂”的计算逐次归结为“较简单”的计算,一直归结到“最简单”的情形的计算,并得到计算结果为止。 二、用递归求解问题的条件 1. 必须有一个明确的函数终止的条件; 2. 原问题必须能转化为新问题,新问题的解决方法与旧问题的解决方法一样; 3. 新旧问题一般在形式参数每次获得的值上不一样,或者函数体内测试条件变量的值不同。 注意:很多数据结构可以采用递归方式定义,线性表、数组、字符串和树等数据结构原则上都可使用递归方法来定义。 使用递归定义方法的数据结构常称为递归数据结构,例如树形结构。 三、递归算法举例 例1:斐波那契级数 它的定义可递归定义如下: F0=0 F1=1 Fn=Fn-1+Fn-2 (n1) 其递归算法如下: long Fib(long n) { if (n=1) return n; else return Fib(n-2)+Fib(n-1) } 说明: 1.在函数Fib中,当n1时,又调用了函数Fib自己,但是形式参数变为当前参数值n的减2和减1,新问题的解决与原问题的解决方法一样,但新问题的解决比原问题更趋向于简单,因为形式参数在减小。当形式参数n=
原创力文档

文档评论(0)