算法的基本概念
數據結構
將現實世界的問題進行數據化。
算法(程序=算法+數據結構)
處理信息和解決問題。
算法的特性
1.有窮性
一個算法必須在執行有窮后結束,且每一步都在又窮時間內完成。[1]
2.確定性
算法中每條指令必須要有確切的含義,對於相同的輸入只能得出相同的輸出。
3.可行性
算法中描述的操作都可以通過已經實現的基本運算執行有限次來實現。
4.輸入,輸出
1.輸入:
一個算法可以有一零個或多個輸入,這些輸入取自某個特定的集合。
2.輸出:
一個算法可以有多個或一個輸出,且每個輸出都與輸入有某種特定關系。
設計算法時要追求的目標
1.正確性
算法可以正確解決問題。
2.可讀性
便於他人理解
3.健壯性
輸入非法數據時,算法不會隨便給出亂七八糟的數據,能夠及時的作出處理。
4.高效率與低存儲需求
省時省內存。即時間復雜度低,空間復雜度低。
算法必須是有窮的,而程序可以是無窮的。 ↩︎
