1. 程式人生 > >幾個重要的演算法設計技術

幾個重要的演算法設計技術

第八章中講到了演算法設計的技術,受到了啟發,以前對演算法的優劣沒有進行細緻的量化,沒有比較。在設計演算法時總是從想法上去認為最優,沒有分析出最優的原因,下面對書中提到的幾個重要的技術進行總結:

1.問題的規模。對n3,n2,nlogn,O(n)的認識和理解。

2.儲存狀態。通過將計算結果進行儲存,避免了重複的計算而浪費時間。

3.對資訊進行預處理。預算計算出結果,也可以避免重複計算。

4.分治演算法。將大規模的演算法,分進幾個小的結構一致的演算法

5.掃描演算法。在掃描資料的時候進行分析,提出如何將“X[0,i-1]的解決方案擴充套件為X[0,i]的解決方案”。

6.累積。累積可以解決對累積資料重複利用而減少重複計算和計算的步驟。

7.下限。對可能已經達到下限有一個底,一般來說O(n)已經是最低的了。