回覆列表
  • 1 # 使用者4088377854242

    loop、iterate、traversal和recursion這幾個詞是計算機技術書中經常會出現的幾個詞彙。眾所周知,這幾個詞分別翻譯為:迴圈、迭代、遍歷和遞迴。乍一看,這幾個詞好像都與重複(repeat)有關,但有的又好像不完全是重複的意思。那麼這幾個詞到底各是什麼含義,有什麼區別和聯絡呢?下面就試著解釋一下。

    迴圈(loop),指的是在滿足條件的情況下,重複執行同一段程式碼。比如,while語句。迭代(iterate),指的是按照某種順序逐個訪問列表中的每一項。比如,for語句。遍歷(traversal),指的是按照一定的規則訪問樹形結構中的每個節點,而且每個節點都只訪問一次。遞迴(recursion),指的是一個函式不斷呼叫自身的行為。比如,以程式設計方式輸出著名的斐波納契數列。

    有了以上定義,這幾個概念之間的區別其實就比較清楚了。至於它們之間的聯絡,嚴格來講,它們似乎都屬於演算法的範疇。換句話說,它們只不過是解決問題的不同手段和方式,而本質上則都是計算機程式設計中達成特定目標的途徑。

    摘抄至迴圈、迭代、遍歷和遞迴

  • 中秋節和大豐收的關聯?
  • 水逆和水逆退散是什麼意思?