宜搭小技巧|海量資料管理難?這招幫你事半功倍
阿新 • • 發佈:2022-05-18
遞迴演算法簡介
遞迴演算法是一種直接或者間接呼叫自身函式或者方法的演算法。說簡單了就是程式自身的呼叫。
其實質就是將原問題不斷分解為規模縮小的子問題,然後遞迴呼叫方法來表示問題的解。(用同一個方法去解決規模不同的問題)
遞迴演算法思想
- 遞去:將遞迴問題分解為若干個規模較小,與原問題形式相同的子問題,這些子問題可以用相同的解題思路來解決
- 歸來:當你將問題不斷縮小規模遞去的時候,必須有一個明確的結束遞去的臨界點(遞迴出口),一旦達到這個臨界點即就從該點原路返回到原點,最終問題得到解決。
設計要點
遞迴思維是一種從下向上的思維方式,使用遞迴演算法往往可以簡化我們的程式碼,而且還幫我們解決了很複雜的問題。遞迴演算法的難點就在於它的邏輯性,一般設計遞迴演算法需要考慮以下幾點:
- 明確遞迴的終止條件(遞迴出口)
- 提取重複的邏輯,縮小問題的規模不斷遞去
- 給出遞迴終止時的處理辦法
自然數數列
以自然數列1 , 2 , 3 , 4 , 5 , 6 ....... n
為例。求第n個數字
很顯然這個數列的規律是後一項等於前一項加一,即n = n + 1 。
函式表示式為
- f(n)= f(n-1) + 1
- f (1) = 1 //遞迴出口
所以遞迴函式可以寫為int f(int n){ if (n == 1){ return 1; } else{ return f(n-1) +1; } }