資料結構 筆記:程式的靈魂
阿新 • • 發佈:2018-11-10
資料結構靜態的描述了資料元素之間的掛你
高效的程式需要在資料結構的基礎上設計和選擇演算法
演算法是特定問題求解步驟的描述
在計算機中表現為指令的有限序列
算是獨立存在的一種解決問題的方法和思想,對於演算法而言,語言並不重要,重要的是思想。
演算法的特性:
-輸入:演算法具有0個或多個輸入
-輸出:演算法至少有1個或多個輸出
-有窮性:演算法在有限的步驟之後會自動結束而不會無限迴圈
-確定性:演算法中的每一步都有確定的含義,不會出現二義性
-可行性:演算法的每一步都是可行的
正確性
-演算法對於合法資料能夠得到滿足要求的結果
-演算法能夠處理非法輸入,並得到合理的結果
-演算法對於邊界資料和壓力資料都能得到滿足要求的結果
ps:正確性是演算法最需要滿足的基本的準則,但是作為計算機程式,不可能無限制的滿足這條準則
可讀性
-演算法要方便閱讀,理解和交流
健壯性
-演算法不應該產生莫名其妙的結果
價效比
-利用最少的資源得到滿足要求的結果
ps:演算法可讀性是最容易被忽視的,然而,程式時寫給人看的,而不是計算機
總結:
-演算法為了解決實際問題而存在
-資料結構式演算法處理問題的載體
-資料結構與演算法相輔相成,共同解決問題
程式 = 資料結構 + 演算法