資料結構是演算法實現的基礎,演算法總是要依賴於某種資料結構來實現的。往往是在發展一種演算法的時候,構建了適合於這種演算法的資料結構。一種資料結構如果脫離了演算法,也就沒有存在的價值了。
演算法的作用----解決任何一個實際問題,都不可避免地涉及到演算法的問題,通過一定的演算法,得到一個最優(或較優)的方案。
遞推演算法:遞推演算法是一種簡單的演算法,即通過已知條件,利用特定關係得出中間推論,直至得到結果的演算法。
順推法:從已知條件出發,逐步推算出要解決的問題的方法。
逆推法:從已知問題的結果出發,用迭代運算式逐步推算出問題的開始的條件,即順推法的逆過程。
順推執行個體:
兔子繁殖過程
c++代碼:
#includeint main(){ using namespace std; const int NUM = 13; int count = 0; int rabbit[NUM] = {1,1}; for (int i=0; i php代碼:
"; }?>
C++編譯運行結果
逆推 執行個體:
父親準備為小龍的四年大學生活一次性儲蓄一筆錢,使用整存零取的方式,控制小龍每月月底取1000元準備下月使用。假設銀行整存領取的年息為1.71%,請算出父親至少需要存入多少錢才行。 c++代碼:
#includeint main(){ using namespace std; const double RATE = 0.0171; double money[48]; money[47] = 1000; for (int i=47; i>0; i--) { money[i-1] = (money[i] + 1000)/(1+RATE/12); } for (int j=47; j>0; j--) { cout << "第 " << j << " 月本利合計為: " << money[j] << " 元\n"; } return 0;}
php代碼:
0; $i--) { $month[$i-1] = ($month[$i] + 1000)/(1+RATE/12); } for ($i=47; $i>0; $i--) { echo "第 " . $i . " 月本息合計為:" . $month[$i] . "元
"; }?> C++編譯運行結果