【數據結構實戰C++】3 算法和程序的關係
作者 CodeAllen ,轉載請註明出處
數據結構靜態的描述了數據之間的關係
高效的程序需要在數據結構的基礎上設計和選擇算法
-算法是特定問題求解步驟的描述
-在計算機中表現爲指令的有限序列
算法是獨立存在的一種解決問題的方法和思想
對於算法而言,語言並不重要,重要的是思想
算法的特徵
- -輸入:算法具有0個或多個輸入
- -輸出:算法至少有一個或者多個輸出
- -有窮性:算法在有限的步驟之後會自動結束而不會無限循環
- -確定性:算法中的每一步都有確定的含義,不會出現二義性
- -可行性:算法的每一步都是可行的
正確性
- -算法對於合法數據能夠得到滿足要求的結果
- -算法能夠處理非法輸入,並得到合理的結果
- -算法對於邊界數據和壓力數據都能得到滿足要求的結果
可讀性
- -算法要方便閱讀,理解和交流
健壯性
- -算法不應該產生莫名其妙的結果
性價比
- -利用最少的資源得到滿足要求的結果
小結
算法是爲了解決實際問題而存在的
數據結構是算法處理數據問題的載體
數據結構和算法相輔相成,共同解決問題