五個基本特征:輸入、輸出、有窮性、确定性和可行性。
- 輸入輸出:算法具有零個或多個輸入。
- 有窮性:指算法在執行有限的步驟之後,自動結束而不會出現無限循環,并且每一個步驟在可接受的時間内完成。
- 确定性:算法的每一步驟都具有确定的含義,不會出現二義性。
- 可行性:算法的每一步都必須是可行的,也就是說,每一步都能夠通過執行有限次數完成。
算法設計的要求
- 正确性:算法的正确性是指算法至少應該有輸入、輸出和加工處理無歧義性、能正确反映問題的需求、能夠得到正确答案。
- 可讀性:算法設計的另一目的是為了便于閱讀、了解和交流。
- 健壯性:當輸入資料不合法時,算法也能做出相關處理,而不是産生異常或莫名其妙的結構。
- 時間效率高和存儲量低。
總結:
在程式的編寫過程中應該牢記上述算法的特性和設計要求,這樣才程式設計的過程中就不會不知所措,編寫出優秀的程式。雖然說是基礎,但是牢記之後可以避免很多不必要的麻煩。(比如在别寫程式時沒有處理不合法資料時,沒有做出相關處理,就會産生異常或者報錯。)
以上是我看學習資料結構與算法後得出的結論,以便自己複習。