IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 斐波那契递归时间和非递归时间的比较 -> 正文阅读

[C++知识库]斐波那契递归时间和非递归时间的比较

?目的主要是为了比较一下递归和非递归的运行时间的差异,但是由于数的限制,当输入的数超出限制了,程序就可能无法运行.

在这里面会使用到C语言库函数time.h

.返回类型为t实际为long

.clock()函数是可以计算从开始执行程序到程序结束的时间的,返回时间是毫秒

.

#include<stdio.h>
#include<time.h>
int main()
{
	clock_t start_time,end_time;
	start_time=clock();//开始时间
	//这里面写要测试的程序
	a=1;b=2;
	c=a+b;
	end_time=clock();//结束时间
	printf("%.2f",(double)(start_time-end_time));
	return 0;
}

比较代码:?

#include<stdio.h>
#include<time.h>
//非递归算法
long Fibno(int n)
{
?? ?if(n==1)
?? ? return 1;
?? ?else if(n==2)
?? ? return 1;
?? ?long f1,f2,f3;
?? ?f1=1,f2=1;
?? ?for(int i=3;i<=n;i++){
?? ??? ?f3=f2+f1;
?? ??? ?f1=f2,f2=f3;
?? ?}
?? ?return f3;
}
//递归算法
long Fib(int n)
{
? ? if(n==1)
? ? ? ? return 1;
? ? else if(n==2)
? ? ? ? return 1;
? ? else
? ? ? ? return Fibno(n-1)+Fibno(n-2);
}
//功能实现函数
void suanfa(int n,int m)
{
? ? int end=0;
? ? clock_t start_time,end_time;
? ? if(m==1){
? ? ? start_time=clock();
? ? ? end=Fibno(n);
? ? ? end_time=clock();
? ? ? printf("%d\n",end);
? ? ? printf("请输入非递归算法时间: %lf\n",(double)(end_time-start_time));
? ? }else{
? ? ? start_time=clock();
? ? ? end=Fib(n);
? ? ? end_time=clock();
? ? ? printf("%d\n",end);
? ? ? printf("请输入递归算法时间: %lf\n",(double)(end_time-start_time));
? ? }
}
int main()
{
?? ?int n,choice;
?? ?printf("请输入要测试的数据和选择的算法\n");
?? ?scanf("%d %d",&n,&choice);
?? ?suanfa(n,choice);
?? ?return 0;
}

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章           查看所有文章
加:2021-11-24 07:46:15  更:2021-11-24 07:48:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 8:34:09-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码