日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

迭代和递归

發布時間:2025/5/22 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 迭代和递归 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

為什么80%的碼農都做不了架構師?>>> ??

1. 迭代和遞歸

  • 遞歸:是自頂向下逐步拓展需求,最后自下向頂運算。即由f(n)拓展到f(1),再由f(1)逐步算回f(n)
  • 迭代:是直接自下向頂運算,由f(1)算到f(n)。
  • 2. 迭代和遞歸

    遞歸是在函數內調用本身,迭代是循環求值,不推薦使用遞歸算法

  • 迭代,效率比遞歸高,代碼寫起啦不容易(累加就和)
  • 遞歸,效率比較低,占內存,代碼容易(階乘求職)
  • 3. 迭代和遞歸

    遞歸循環中,遇到滿足終止條件的情況時逐層返回來結束。迭代則使用計數器結束循環

    迭代經典例子就是實數的累加,比如計算1-100所有實數的和。int v=1; for(i=2;i<=100;i++) {v=v+i;//記數器 }

    #4. 迭代和遞歸

    遞歸的基本概念:程序調用自身的編程技巧稱為遞歸,是函數自己調用自己.

    一個函數在其定義中直接或間接調用自身的一種方法,它通常把一個大型的復雜的問題轉化為一個與原問題相似的規模較小的問題來解決,可以極大的減少代碼量.遞歸的能力在于用有限的語句來定義對象的無限集合.

    使用遞歸要注意的有兩點:

    1)遞歸就是在過程或函數里面調用自身;

    2)在使用遞歸時,必須有一個明確的遞歸結束條件,稱為遞歸出口.

    遞歸分為兩個階段:

    1)遞推:把復雜的問題的求解推到比原問題簡單一些的問題的求解;

    2)回歸:當獲得最簡單的情況后,逐步返回,依次得到復雜的解.

    迭代:利用變量的原值推算出變量的一個新值.如果遞歸是自己調用自己的話,迭代就是A不停的調用B.

    遞歸中一定有迭代,但是迭代中不一定有遞歸,大部分可以相互轉換.能用迭代的不用遞歸,遞歸調用函數,浪費空間,并且遞歸太深容易造成堆棧的溢出.

    //這是遞歸 int funcA(int n) {if(n > 1)return n+funcA(n-1);else return 1; } //這是迭代 int funcB(int n) {int i,s=0;for(i=1;i<n;i++)s+=i;return s; }

    轉載于:https://my.oschina.net/oneboi/blog/759599

    《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

    總結

    以上是生活随笔為你收集整理的迭代和递归的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。