1. 程式人生 > >資料結構 筆記:程式的靈魂

資料結構 筆記:程式的靈魂

資料結構靜態的描述了資料元素之間的掛你

高效的程式需要在資料結構的基礎上設計和選擇演算法

演算法是特定問題求解步驟的描述

在計算機中表現為指令的有限序列

算是獨立存在的一種解決問題的方法和思想,對於演算法而言,語言並不重要,重要的是思想。

演算法的特性:

-輸入:演算法具有0個或多個輸入

-輸出:演算法至少有1個或多個輸出

-有窮性:演算法在有限的步驟之後會自動結束而不會無限迴圈

-確定性:演算法中的每一步都有確定的含義,不會出現二義性

-可行性:演算法的每一步都是可行的

正確性

-演算法對於合法資料能夠得到滿足要求的結果

-演算法能夠處理非法輸入,並得到合理的結果

-演算法對於邊界資料和壓力資料都能得到滿足要求的結果

ps:正確性是演算法最需要滿足的基本的準則,但是作為計算機程式,不可能無限制的滿足這條準則

可讀性

-演算法要方便閱讀,理解和交流

健壯性

-演算法不應該產生莫名其妙的結果

價效比

-利用最少的資源得到滿足要求的結果

ps:演算法可讀性是最容易被忽視的,然而,程式時寫給人看的,而不是計算機

總結:

-演算法為了解決實際問題而存在

-資料結構式演算法處理問題的載體

-資料結構與演算法相輔相成,共同解決問題

程式 = 資料結構 +  演算法