資料結構 演算法

2021-08-02 05:20:44 字數 1184 閱讀 5992

程式設計=資料結構+演算法

演算法的定義:演算法是解決特定問題求解步驟的描述,在計算機中為指令的有限序列,並且每條指令表示乙個或多個操作。

演算法的特性:

輸入  輸出:0個或多個輸入,至少乙個輸出,輸出可以是列印輸出或者返回乙個值

有   窮   性:演算法在執行有限步驟後,自動結束而不會出現無限迴圈,並且每乙個步驟在可接受的時間內完成

確   定   性:演算法的每乙個步驟都具有確定的含義,不會出現歧義

可   行   性:演算法的每一步必須是可行的,每一步都能通過執行有限次數完成

演算法設計的要求:

正確性:語法沒有錯誤,對於正確輸入得到正確結果,非法輸入能夠得出滿足規格說明的結果

健壯性:當輸入資料不合法時,演算法也能做出相關處理,而不是產生異常或莫名其妙的結果

高效率和低儲存量需求:設計演算法應該盡量滿足時間效率高和儲存量低的需求

演算法的度量方法:

事後統計方法(不科學,不準確)

事前分析估計方法

時間複雜度的計算方法:

用常數1取代所有常數

在修改後的表示式中只保留最高端項

如果最高端項存在且不是1,則去除這個項前的係數

常見時間複雜度所耗時間大小排列:

o(1)

對演算法的分析,一種方法是計算所有情況的平均值,這種時間複雜度的計算方法稱為平均時間複雜度。另一種方法計算最壞情況下的時間複雜度,這種演算法稱為最壞時間複雜度。一般在沒有特殊說明的情況下,都是指最壞時間複雜度。

資料結構 資料結構演算法

分治法 對於乙個規模為n的問題,若該問題可以容易地解決 比如說規模n較小 則直接解決 否則將其分解為k個規模較小的子問題,這些子問題互相獨立且與原問題形式相同,遞迴地解這些子問題,然後將各子問題的解合併得到原問題的解。動態規劃法 這種演算法也用到了分治思想,它的做法是將問題例項分解為更小的 相似的子...

資料結構與演算法 演算法 演算法和資料結構

資料結構與演算法 演算法 好吧,在這裡,您被優秀或優秀的軟體開發人員所隔開。在這種情況下,我會告訴您一開始或至少在我的情況下,並且我知道大多數時候,對於我認識的大多數人,您會覺得自己是乙個無能的人或白痴。基本上,我怎麼可能不理解這一點,然後您會感到沮喪。在這種情況下,我會告訴您情況並不像您想的那麼糟...

資料結構 演算法

一 什麼是演算法?演算法是解決特定問題求解步驟的描述,在計算機中表現為指令的有限序列,並且每條指令表示乙個或多個步驟。二 資料結構演算法的關係 資料結構與演算法有著千絲萬縷的關係,如果單單學習資料結構,會不知道有什麼用處,但如果我們再把相應的 演算法一起來講,你就會發現,甚至開始感慨 計算機界的前輩...