<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      7種方式實現斐波那契數列

      7種方式實現斐波那契數列

      一:遞歸實現
         在學校里學習遞歸的時候,老師就喜歡舉斐波那契這個例子,看!多簡潔清晰。其實這個例子是非常不適合作為遞歸舉例的,
         原因就是效率太慢,除了最后一個數,每個數都被算了一遍又一遍,時間復雜度差不多是5n^2/3。
      二:數組實現
         空間復雜度和時間復雜度都是0(n),效率一般,比遞歸來得快。
      三:vector<int>實現
         時間復雜度是0(n),時間復雜度是0(1),就是不知道vector的效率高不高,當然vector有自己的屬性會占用資源。
      四:queue<int>實現
         當然隊列比數組更適合實現斐波那契數列,時間復雜度和空間復雜度和vector<int>一樣,但隊列太適合這里了,
         f(n)=f(n-1)+f(n-2),f(n)只和f(n-1)和f(n-2)有關,前面的數就乖乖的出隊列吧。
      五:迭代實現
         迭代實現是最高效的,在學習斐波那契數列時,介紹了這個方法,當時不知道懂了沒有,時間復雜度是0(n),時間復雜度是0(1)。
      六:最難懂的實現方式
         說他難懂是因為變量的命名,怎么啊,不行啊,其實就是用迭代實現的,哈哈哈...
      七:公式實現
         我靠!原來斐波那契數列有公式啊,那老師干嘛不直接教我們公式呢,教你公式,當然要告訴你推導啊,我不會,看(百度百科)斐波那契數列.
             由于double類型的精度還不夠,所以程序算出來的結果有誤差,如果把公式展開計算,得出的結果是正確的。

       請不要說陳太漢無聊,無聊時玩玩代碼也不錯。

      遞歸實現
      int Fib1(int index)
      {
      if(index<1)
      {
      return-1;
      }
      if(index==1|| index==2)
      {
      return1;
      }
      return Fib1(index-1)+Fib1(index-2);
      }
      數組實現
      int Fib2(int index)
      {
      if(index<1)
      {
      return-1;
      }
      if(index<3)
      {
      return1;
      }
      int*a=newint[index];
      *a=*(a+1)=1;
      for(int i=2;i<index;i++)
      {
      a[i]
      =a[i-1]+a[i-2];
      }
      int res=a[index-1];
      delete a;
      //釋放內存(一個new對應一個delete)
      return res;
      }
      vector實現
      int Fib3(int index)
      {
      if(index<1)
      {
      return-1;
      }
      // Create a vector a with 2 elements of value 1
      vector<int> a(2,1);
      a.reserve(
      3);
      for(int i=2;i<index;i++)
      {
      a.insert(a.begin(),a.at(
      0)+a.at(1));
      a.pop_back();
      }
      return a.at(0);
      }
      queue實現
      int Fib4(int index)
      {
      if(index<1)
      {
      return-1;
      }
      queue
      <int> a;
      a.push(
      1);
      a.push(
      1);
      for(int i=2;i<index;i++)
      {
      a.push(a.front()
      +a.back());
      a.pop();
      }
      return a.back();
      }
      迭代實現
      int Fib5(int index)
      {
      if(index<1)
      {
      return-1;
      }

      int a1=1,a2=1,a3=1;
      for(int i=0;i<index-2;i++)
      {
      a3
      =a1+a2;
      a1
      =a2;
      a2
      =a3;
      }
      return a3;
      }
      最難懂的實現方式
      int Fib6(int _1_)
      {
      if(_1_<1)
      {
      return-1;
      }
      int _=1,__=1,___=1;
      for(int i=2;i<_1_;i++)
      {
      ___
      =_+__;
      _
      =__;
      __
      =___;
      }
      return ___;
      }
      公式實現
      int Fib7(int n)
      {
      double gh5=sqrt((double)5);
      return (pow((1+gh5),n)-pow((1-gh5),n))/(pow((double)2,n)*gh5);
      }
      posted @ 2011-07-15 14:29  古文觀芷  閱讀(22609)  評論(18)    收藏  舉報
      主站蜘蛛池模板: 中文字幕精品无码一区二区| 激情综合色五月丁香六月亚洲| 尤物tv国产精品看片在线| 日韩人妻一区中文字幕| 欧美和黑人xxxx猛交视频| 视频一区二区不中文字幕| 在线欧美精品一区二区三区| 国产99久久精品一区二区| 风流少妇树林打野战视频| 国产乱色国产精品免费视频 | 久久av无码精品人妻出轨| 亚洲第一国产综合| 一区二区三区午夜无码视频| 又黄又刺激又黄又舒服| 精品无码久久久久久尤物| 国产亚洲一二三区精品| 国产一国产看免费高清片| 亚洲国产成人精品无码区在线观看| 亚洲人成人影院在线观看| 在线中文字幕第一页| 精品久久精品午夜精品久久| 深夜释放自己在线观看| 免费a级黄毛片| 91色老久久精品偷偷性色| 中文字幕人成乱码熟女| 精品少妇无码一区二区三批| 久久这里都是精品二| 日本中文一二区有码在线| 亚洲精品熟女一区二区| 欧美视频二区欧美影视| julia无码中文字幕一区| 国产小嫩模无套中出视频| 亚洲情A成黄在线观看动漫尤物| 国产精品爆乳奶水无码视频免费| 亚洲中文字幕在线精品一区| 夜夜添无码一区二区三区| 国产午夜福利免费入口| 中文字幕免费不卡二区| 亚洲区福利视频免费看| 久久亚洲精品11p| 精品国模一区二区三区|