資料結構與算法
概念:
a.資料結構隻是靜态的描述了資料元素之間的關系。
b.高效的程式需要在資料結構的基礎上設計和選擇算法。
***高效的程式***=恰當的資料結構和合适的算法
算法的定義
a.算法是特定問題求解步驟的描述
b.在計算機中表現為指令的有限序列
算法是獨立存在的一種解決問題的方法和思想。
對于"算法"而言,
****語言并不重要,重要的是思想****。
算法的特性
a.輸入
算法具有0個或對個輸入.
b.輸出
算法至少有1個或多個輸出.
c.有窮性(自動結束)
算法在有限的步驟之後會自動結束而不會無限循環.
d.确定性
算法中的每一步都有确定的含義,不會出現二義性.
e.可行性
算法的每一步都是可行的.
算法設計的準則
一:正确性
a.算法對于合法資料能夠得到滿足要求的結果.(必選)
b.算法能夠處理非法輸入,并得到合理的結果.(必選)
c.算法對于邊界資料和壓力資料都能得到滿足要求的結果.(可選)
注意:正确性是算法最需要滿足的基本準則,但是作為計算機程式,不可能無限制的滿足這條準則.
二:可讀性
a.算法要友善閱讀,了解和交流
三:健壯性
a.算法不應該産生莫名其妙的結果
四:高成本效益
a.利用最少的時間和資源得到滿足要求的結果
注意:
算法可讀性是最容易被忽視的,然而,程式是寫給人看的,而不是計算機。
小結
a.算法是為了解決實際問題而設計的。
b.資料結構是算法需要處理的問題載體。
c.資料結構與算法相輔相成。
程式 = 資料結構 + 算法
本文轉自 沉迷學習中 51CTO部落格,原文連結:http://blog.51cto.com/12907581/1950667,如需轉載請自行聯系原作者