#include <stdio.h>
#include <iostream>int fibonacci_recurrence(int n) //递归实现
{if (n == 0 or n == 1)return 1;else if(n > 1){return fibonacci_recurrence(n-1)+fibonacci_recurrence(n-2);}elseprintf("error");
}//递归实现的时间复杂度是O(2^n)int fibonacci_array(int n) //数组实现
{//1,1,2,3,5,8,13,......if (n == 0 or n == 1)return 1;else if (n > 1){int nums[n];nums[0] = 1;nums[1] = 1;for(int i = 2; i<=n; i++){nums[i] = nums[i-1] + nums[i-2];}return nums[n];}
}//数组实现的时间复杂度是O(n)int fibonacci_iteration(int n) //迭代(循环)实现
{if (n == 0 or n == 1)return 1;else{int num1 = 1;int num2 = 1;int res;while(n > 1){res = num1 + num2;num2 = num1;num1 = res;n--;}return res;}
}//迭代实现的时间复杂度是O(n)int main()
{int num;printf("input num:\n");scanf("%d",&num);if(num<0)printf("error");else{printf("递归实现:\n");printf("%d\n",fibonacci_recurrence(num));printf("数组实现:\n");printf("%d\n",fibonacci_array(num));printf("迭代(循环)实现:\n");printf("%d\n",fibonacci_iteration(num));}system("pause");return 0;
}

数据结构考研复习 | Fibonacci数列的递归、数组、迭代(循环)实现及其时间复杂度相关推荐

  1. 2019数据结构考研复习指导习题代码(王道论坛)

    2019数据结构考研复习指导习题代码(王道论坛) 1.从顺序表删除具有最小值的元素(假设唯一)并由函数返回被删除元素的值.空出的位置由最后一个元素补充,若顺序表为空则显示出错信息并退出运行. bool ...

  2. Python输出斐波那契数列【递归、迭代】

    Python输出斐波那契数列[递归.迭代] 首先 斐波那契数列的定义是什么? 斐波那契数列指的是这样一个数列:0.1.1.2.3.5.8.13.21.34.--在数学上,斐波那契数列以如下被以递推的方 ...

  3. C语言:Fibonacci数列的递归解法和非递归解法

    求Fibonacci数列的第n项(注意,是当n很小时) Fibonacci数列: F(n)=F(n-1)+F(n-2) 1 1 2 3 5 8 13 21 -- 递归解法: #include<s ...

  4. 斐波那契数列的递归,迭代(循环),通项公式三种实现

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 谓Fib ...

  5. 数据结构考研复习笔记

    数据结构(清华出版的) (就是那本经典的,作者是严老师) 记录考研学习过程,不管写的咋样,就是硬写,就是坚持写. 先说一下我要准备的考试大纲,纲举目张,抓本质. 看着挺吓人的,但是都是纸老虎" ...

  6. 2022年王道数据结构考研复习指导习题代码(栈和队列)

    3.1栈 1.写出一个算法,判定所给的操作序列是否合法.若合法,返回true,否则返回false(假定被判定的操作序列已存入一维数组中). #include <stdio.h> #incl ...

  7. 数据结构考研复习(自用非408)顺序表

    2.1线性表的基本概念  线性表按存储方式的不同,可以划分为顺序表和链表.线性表是具有相同数据类型的n个数据元素的有限序列,n为表长,当n=0时为空表. 线性表是一种逻辑结构,具有以下特点: 表中的元 ...

  8. 数据结构考研复习知识点梳理(自用非408)第一章

    第一章.绪论 1.1什么是数据结构 1.数据元素是数据的基本单位,在计算机程序中通常作为一个整体考虑和处理 2.一个数据元素可以由若干个数据项构成,数据项是数据的不可分割的最小单位 3.数据对象是性质 ...

  9. 【C语言】斐波那契数列【递归与迭代】

    一.背景介绍 斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为"兔子 ...

最新文章

  1. PHP中exec()函数执行系统命令失败
  2. 幂等问题-概念上的通俗解释(未完待续)
  3. Linux初级运维(十七)——Linux内核编译与系统裁减
  4. freeradius+mysql+pptpd+radiusmanager 游戏×××代理站完整实验过程
  5. TortoiseGit客户端安装及使用(上传代码到git@osc
  6. FTP、FTPS 与 SFTP 简介
  7. 机器学习-支持向量机原理
  8. html鼠标自动图片放大,css如何实现鼠标放在图片上时图片放大呢?
  9. Mac os查看共享文件
  10. 计算机内存清理原理,怎样清理计算机内存
  11. 关闭Win10锁屏的防暴力破解功能
  12. 如何用photoshop来做流体渐变
  13. 通过Java生成.pfx(.p12)证书文件
  14. 基于python的情感分析案例-基于情感词典的python情感分析
  15. 零基础编写图片服务器(1)
  16. 1w存银行一年多少利息_100万存银行一年利息是多少?
  17. 【Zabbix】Zabbix微信告警配置演示
  18. oracle固定资产结帐,如何控制必须先固定资产模块结帐,才可以总账模块结账。...
  19. 线性代数学习笔记7-3:特征值的应用——解微分方程、矩阵的指数函数
  20. ssh框架可以使用Ajax,基于Ajax的SSH框架的应用研究

热门文章

  1. html5猜数字游戏代码,js猜数字小游戏的简单实现代码
  2. 文案生成 python_用 Python 开发一个【视频营销号】生成器
  3. i9 10900K比9900K性能提升了多少?i9-10900K和i9-9900K区别对比评测 更多详情咨询世通兰陵王
  4. 安装Debian系统
  5. 博科交换机常用操作命令
  6. 【区块链基础】4——ETH区块结构
  7. 记录阿里云服务器和百度网盘之间传输文件
  8. 亚马逊的规则你知道多少
  9. HbuildX H5+App监听手机返回键以及webview关闭
  10. Unity 语音识别以及音频可视化