第1節 算法

-------------------------------------資源來源於網絡,僅供自學使用,如有侵權,聯繫我必刪.

第一:

數據結構與算法

?  數據結構只是靜態的描述了數據元素之間的關係
?  高效的程序需要在數據結構的基礎上設計和選擇算法

 

高效的程序:
    恰當的數據結構
    合適的算法

 

第二:

算法的定義

?  算法是特定問題求解步驟的描述
?  在計算機中表現爲指令的有限序列

算法是獨立存在的一種解決問題的方法和思想

 

第三

算法的特性

?  輸入
    算法具有0 個或多個輸入
?  輸出
    算法至少有1 個或多個輸出
?  有窮性
    算法在有限的步驟之後會自動結束而不會無限循環
?  確定性
    算法中的每一步都有確定的含義 , 不會出現二義性
?  可行性
    算法的每一步都是可行的

 

第四:

? 正確性
1. 算法對於合法數據能夠得到滿足要求的結果
2. 算法能夠處理非法輸入 , 並得到合理的結果
3. 算法對於邊界數據和壓力數據都能得到滿足要求的結果
    注意 :
    正確性是算法最需要滿足的基本的準則 , 但是作爲計算機程序 , 不可能無限制的滿足這條準則

? 可讀性
   算法要方便閱讀 , 理解和交流
? 健壯性
   算法不應該產生莫名其妙的結果
? 高性價比
   利用最少的時間和資源得到滿足要求的結果
注意 :
算法可讀性是最容易被忽視的 , 然而 , 程序是寫給人看的 , 而不是計算機 。

 

小結

? 算法是爲了解決實際問題而設計的
? 數據結構是算法需要處理的問題載體
? 數據結構與算法相輔相成

 

程序  =  構 數據結構  +  算法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章