算法的特徵有:
1、有窮性(Finiteness),算法的有窮性是指算法必須能在執行有限個步驟之後終止;
2、確切性(Definiteness),算法的每一步驟必須有確切的定義;
3、輸入項(Input),一個算法有0個或多個輸入,以刻畫運算對象的初始情況,所謂0個輸入是指算法本身定出了初始條件;
4、輸出項(Output),一個算法有一個或多個輸出,以反映對輸入數據加工後的結果,沒有輸出的算法是毫無意義的;
5、可行性(Effectiveness),算法中執行的任何計算步驟都是可以被分解爲基本的可執行的操作步,即每個計算步都可以在有限時間內完成(也稱之爲有效性)。