程式的靈魂 演算法

2022-05-06 04:30:07 字數 718 閱讀 7109

資料結構只是靜態的描述了資料元素之間的關係。

高效的程式需要在資料結構的基礎上設計和選擇演算法。高效的程式包括恰當的資料結構與合適的演算法。

演算法是特定問題求解步驟的描述,在計算機中表現為指令的有限序列,演算法是獨立存在的一種解決問題的方法和思想。對於演算法而言,語言並不重要,重要的是思想。前面這句,要一分為二的看,在演算法設計的時候,這句話成立。

演算法的特性:

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

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

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

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

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

演算法設計準則之一正確性:

1.、演算法對於合法資料能夠得到滿足要求的結果。

2.、演算法能夠處理非法輸入,並得到合理的結果。

3、演算法對於邊界資料和壓力資料都能得到滿足要求的結果(不強制要求)。

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

演算法設計準則之三健壯性:演算法不應該產生莫名其妙的結果。

演算法設計準則之四高價效比:利用最少的時間和資源得到滿足要求的結果。

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

小結:1、演算法是為了解決實際問題而設計的

2、資料結構是演算法需要處理的問題載體

3、資料結構與演算法相輔相成

演算法 程式靈魂

乙個程式包括兩方面的資訊 1.對資料的描寫。2.對操作的描寫。演算法 資料結構 程式 演算法的特性 1.有窮性 2.確定性 3.有零個或多個輸入 4.有乙個或多個輸入 5.有效性第二章 資料型別 運算子與表示式 1 c的資料型別 c的資料型別包括 整型 字元型 實型或浮點型 單精度和雙精度 列舉型別...

程式的靈魂 演算法(二)

資料結構 演算法 程式 演算法的特性 有窮性 包含有限的操作步驟 確定性 演算法中的每乙個步驟都應當是確定的 有零個或多個輸入 輸入是指在執行演算法時需要從外界取得必要的資訊 有乙個或多個輸出 演算法的目的是為了求解,解 就是輸出 有效性 演算法中的每乙個步驟都應當能有效地執行,並得到確定的結果。良...

程式的靈魂 演算法(二)

4 快速排序演算法 1 演算法描述 從待排序序列中任意挑選乙個元素,作為基準 將所有小於基準的元素放在基準之前,大於基準的元素放在基準之後,等於基準的元素放在基準之前或之後,這個過程稱為分組 以遞迴的方式,分別對基準之前和基準之後的分組繼續進行分組,知道每個分組內的元素個數不多於 1 個為止 2 演...