1、有窮性:一個算法必須保證執行有限步之後結束。2、確切性:算法的每一步驟必須有確切的定義。3、輸入:一個算法有0個或多個輸入,以刻畫運算對象的初始情況,所謂0個輸入是指算法本身定除了初始條件。4、輸出:一個算法有一個或多個輸出,以反映對輸入數據加工後的結果。沒有輸出的算法是毫無意義的。5、可行性:算法原則上能夠精確地運行,而且人們用筆和紙做有限次運算後即可完成。