通过斐波那契数列来比较迭代和递归的区别

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

通过斐波那契数列来比较递归和迭代的区别

介绍:斐波那契数列a(0) = a(1) = 1,a(n) = a(n-1) + a(n-2),下面是Java实现同一个fibonacci 数列,分别用递归和迭代方法来比较理解下。

Java代码:

public class Comparison {

//递归,调用自己本身。

static int fib_recursion(int n){

if(n == 1 | n == 0) return 1;

else return fib_recursion(n - 1) + fib_recursion(n - 2);

}

//迭代,用旧值算新值。

static int fib_iteration(int n){

int head = 1,tail = 1,next = 0;

if(n == 1 | n == 0) return 1;

for(int i=2;i<=n;i++){

next = head + tail;

head = tail;

tail = next;

}

return next;

}

public static void main(String[] args) {

int n = 4;

System.out.print("采用递归方法 ");

System.out.println(fib_recursion(n));

System.out.println();

System.out.print("采用迭代方法 ");

System.out.println(fib_iteration(n));

}

}

输出结果:

相关文档
最新文档