Go语言实现Fibonacci数列的两个算法(使用递归和不使用递归)
来源:互联网 发布:windows程序设计中文版 编辑:程序博客网 时间:2024/06/05 14:32
Fibonacci数列:1,1,2,3,5,8,13,21,,, (即从第三项起,每一项的值都等于前两项之后)
第一种,使用递归:
func fibonacci(a int) int {if a == 1 || a == 2 {return 1}return fibonacci(a-1) + fibonacci(a-2)}
第二种,不使用递归:
func fibonacci_version2(index int) int {if index == 1 || index == 2 {return 1}a, b := 1, 1for i := 3; i <= index; i++ {a, b = b, (a + b)}return a + b}
经过检验,使用非递归算法的效率要远远高于递归算法
0 0
- Go语言实现Fibonacci数列的两个算法(使用递归和不使用递归)
- Fibonacci数列的递归与非递归实现算法详解
- Fibonacci数列的递归和非递归
- Fibonacci数列-递归算法
- Fibonacci数列 递归实现
- 编程算法 - 阶乘和Fibonacci数列(递归)
- 【C语言】fibonacci数列 的递归和非递归 +浅谈递归优劣
- fibonacci 数列的非递归算法
- 使用尾递归计算Fibonacci数列
- Fibonacci数列(递归)
- Fibonacci数列的非递归实现
- Fibonacci数列的递归简单实现
- fibonacci数列的递归C++实现
- 算法基础:递归---Fibonacci数列
- 斐波那契数列(不使用递归的快速算法)
- Fibonacci数列的非递归实现(Java版)
- Fibonacci数列的递归与非递归实现
- fibonacci数列的递归与非递归实现
- opencv学习笔记4-sobel算子
- 简单队列的实现(基于链表)
- FFT算法的完整DSP实现
- 《java解惑》读书笔记8——更多类谜题
- Lucene入门
- Go语言实现Fibonacci数列的两个算法(使用递归和不使用递归)
- cocos2d-x 加载第三方.so文件
- 关于“构造函数不能有返回类型”的解决办法
- MongoDB数据库安装
- Tomcat
- 对Linux堆内存释放的总结
- 欠薪跑路了
- 计算机网络基础
- 操作系统Spooling技术