首页 > 其他 > 详细

优化(1159斐波那契数)

时间:2020-01-31 17:00:03      阅读:74      评论:0      收藏:0      [点我收藏+]

最近在网课学习中

了解了一些基本算法

其中在递归算法时

在无优化递归斐波那契时

程序效率低

因为许多数在之前已经被算过一遍了

所以使用记忆化搜索优化

#include<iostream>
#include<cstring>
#include<Windows.h>
using namespace std;
int flog(int v);
int s[1000];
int main()
{
    int n,k;
    cin>>n;
    DWORD startTime=GetTickCount();
    k=flog(n);
    DWORD endTime=GetTickCount();
    cout<<k<<" "<<endTime-startTime;
}
int flog(int v)
{
    if(v==1)
      return 0;
    if(v==2)
      return 1;
    if(s[v]==0) s[v]=flog(v-1)+flog(v-2);
    return s[v];
}

   
      
    
  

对比不经过优化的

#include<iostream>
#include<Windows.h>
using namespace std;
int flog(int v);
int main()
{
    int n,k;
    cin>>n;
    DWORD startTime=GetTickCount();
    k=flog(n);
    DWORD endTime=GetTickCount();
    cout<<k<<" "<<endTime-startTime;
}
int flog(int v)
{
    if(v==1)
      return 0;
    else if(v==2)
            return 1;
         else return flog(v-1)+flog(v-2);
    
   
      
    
} 

技术分享图片

 

 明显发现优化后效率更高.

 

优化(1159斐波那契数)

原文:https://www.cnblogs.com/-Iris-/p/12245690.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!