學員間的對話
問題:程序是否越短越好?是否別人看不懂就證實本身很厲害?
- 數據結構靜態的描述了數據元素之間的關係
- 高效的程序設計須要在數據結構的基礎上設計和選擇算法
- 算法是特定問題求解步驟的描述
- 在計算機中表現爲指令的有限序列
算法是獨立存在的一種解決問題的方法和思想。
對於算法而言,語言並不重要,重要的是思想。算法
輸入數據結構
- 算法具備0個或多個輸入
輸出spa
- 算法至少有一個或多個輸出
有窮性:設計
- 算法在有限的步驟以後會自動結束而不會無限循環
- 在可接受的時間範圍內完成計算(當代軟件領域)
肯定性:blog
- 算法中的每一步都含有肯定的含義,不會出現二義性
- 固定的輸入,固定的輸出
可行性資源
- 算法的每一步都是可行的
正確性it
- 算法對於合法數據可以獲得知足要求的結果
- 算法可以處理非法輸出,並獲得合理的結果
- 算法對於邊界數據和壓力數據可以獲得知足要求的結果
可讀性程序設計
- 算法要方便閱讀,理解和交流
健壯性class
- 算法不該該產生莫名其妙的結果
性價比基礎
- 利用最少的資源獲得知足要求的結果
注意:
- 算法爲了解決實際問題而存在
- 數據結構是處理算法問題的載體
- 數據結構與算法相符相成,共同解決問題
程序 = 數據結構 + 算法(程序的靈魂)
以上內容參考狄泰軟件學院系列課程,請你們保護原創!