package org.vocano.java.tst.recursion; public class Fibonacci { public static int recursive(int n) { if(n < 2) return 1; return recursive(n-2) + recursive(n-1); } public static int directly(long n) { if(n < 3) return 1; int result = 0; int a1 = 1, a2 = 1; for (int i = 2; i <= n; i++) { result = a2 + a1; a1 = a2; a2 = result; } return result; } public static void main(String[] args) { long start = System.currentTimeMillis(); System.out.println(recursive(40)); long end = System.currentTimeMillis(); System.out.println(end - start); System.out.println(directly(40)); System.out.println(System.currentTimeMillis() - end); } } /* output: 165580141 1401 -1109825406 0 *///:~
相关推荐
如果大家对这个生僻的术语不理解的话,那就先听小编给大家说个现实生活中的实际案例吧,...练习:使用递归和非递归的方法来求解斐波那契数列的第 n 项 代码如下: # _*_coding:utf-8_*_ def fibnacci(n): if n == 1
◆ 重点是核心的数据结构,而不是非必要的C++语言语法 ◆ 说明了类和ADT在问题解决过程中的作用 ◆ 诠释了ADT的主要应用,如查找航班图、事件驱动的模拟和八皇后问题 ◆ 大部分章节中的例子都使用了标准模板库...
1. 通过例子说明图论的基本术语,各自的性质和特殊情况。 2. 说明树和图的不同遍历方法。 3. 使用图和树为计算机科学中的问题建模。 4. 把图和树与数据结构、算法和计算相联系。 DS6.离散概率[核心] 主题: ...
13.5 简单异常处理例子:除数为o 13.6 抛出异常 13.7 捕获异常 13.8 再抛出异常 13.9 异常指定 13.10 处理意外异常 13.11 堆栈解退 13.12 构造函数、析构函数与异常处理 13.13 异常与继承 13.14 处理new...
13.5 简单异常处理例子:除数为o 13.6 抛出异常 13.7 捕获异常 13.8 再抛出异常 13.9 异常指定 13.10 处理意外异常 13.11 堆栈解退 13.12 构造函数、析构函数与异常处理 13.13 异常与继承 13.14 处理new...
Go 编程语言是一个使得程序员更加有效率的开源项目。Go 是有表 达力、简洁、清晰和有效率的。它的并行机制使其很容易编写多核 和网络应用,而新的类型系统允许构建有性的模块化程序。Go ...
11.6.1 非关键字可变长参数(元组) 11.6.2 关键字变量参数(字典) 11.6.3 调用带有可变长参数对象函数 11.7 函数式编程 11.7.1 匿名函数与lambda 11.7.2 内建函数apply().cfilter...
11.6.1 非关键字可变长参数(元组) 11.6.2 关键字变量参数(字典) 11.6.3 调用带有可变长参数对象函数 11.7 函数式编程 11.7.1 匿名函数与lambda 11.7.2 内建函数apply()、filter...
1.15 简单程序:打印一行文本-------------------------------------------12 1.16 简单程序:两个整数相加-------------------------------------------15 1.17 内存的概念----------------------------------...
14.以下数据结构中,(A )是非线性数据结构【中山大学 1999 一、4】 A.树 B.字符串 C.队 D.栈 15. 下列数据中,(C )是非线性数据结构。【北京理工大学 2001 六、1(2分)】 A.栈 B. 队列 C. 完全二叉树 ...