演算法是解決特定問題,求解步驟的描述,在計算機中表現為指令的有限序列,並且每條指令表示乙個或多個操作。
演算法有5個基本特徵:輸入、輸出、有窮性、確定性、可行性。
(1)輸入:演算法就有零個或多個輸入。
(2)輸出:演算法至少有乙個或多個輸出,演算法是一定要輸出的,否則沒有意義。
(3)有窮性:演算法在執行有限個步驟之後,自動結束,而不會出現無限迴圈,並且每乙個步驟在可接受的時間內完成。
(4)確定性:演算法的每乙個步驟都具有確定的含義,不會出現二義性。
演算法在一定條件下只有一條執行路徑,相同的輸入只能有唯一的輸出結果。
(5)可行性:演算法的每一步都必須是可行的,也就是說,每一步都能夠通過執行有限次數完成。
演算法並不是唯一的,同乙個問題,可以有多種解決問題的演算法。
演算法的設計要求:
(1)正確性:演算法至少應該具有輸入、輸出和加工處理無歧義性、能正確反映問題的需求、能夠得到問題的正確答案。
演算法程式沒有語法錯誤;
演算法程式對於合法輸入能夠產生滿足要求的輸出;
演算法程式對於非法輸入能夠產生滿足規格的說明;
演算法程式對於故意刁難的測試輸入,都具有滿足要求的輸出結果。
(2)可讀性:演算法設計,另一目的是為了便於閱讀、理解和交流。
(3)健壯性:當輸入資料不合法時,演算法也能做出相關處理,而不是產生異常、崩潰或莫名其妙的結果。
(4)時間效率高和儲存量低
小甲魚 資料結構筆記1
程式設計 資料結構 演算法 資料結構研究的就是,資料元素相互之間存在的一種或多種特定關係的集合。傳統上,我們把資料結構分為邏輯結構和物理結構。1 邏輯結構 指資料物件中資料元素之間的相互關係。2 物理結構 指資料的邏輯結構在計算機中的儲存形式。四大邏輯結構 1 集合結構 集合結構中的資料元素除了同屬...
小甲魚資料結構學習筆記 緒論
程式設計 資料結構 演算法 資料結構就是資料元素相互間一種或多種關係的集合。傳統上,我們把資料結構分為邏輯結構和物理結構,主要研究邏輯結構,而物理結構是次要的。邏輯結構 指資料物件中資料元素之間的相互關係。物理結構 指資料的邏輯結構在計算機中的儲存形式。集合結構 集合結構中資料元素之間的相互關係。線...
小甲魚資料結構 演算法教程學習筆記01
一 緒論 程式設計 資料結構 演算法 資料結構 資料元素之間的一種或多種特定關係的集合 邏輯結構 資料物件中資料元素間的相互關係 物理結構 資料的邏輯結構在計算機中的儲存形式 儲存器主要針對記憶體而言,硬碟 軟盤 光碟等資料組織多是檔案形式。資料元素儲存結構 二 演算法 資料結構 演算法,好 一輩子...