算法和程序的區別:算法
(1)二者定義不一樣。算法是對特定問題求解步驟的描述,它是有限序列指令。而程序是實現預期目的而進行操做的一系列語句和指令。spa
說通俗一些算法是解決一個問題的思路,程序,是解決這些問題所具體好寫的代碼。算法沒有語言界限。他只是一個思路。爲實現相同的一個算法,用不一樣語言編寫的程序會不同。設計
(2)二者的書寫規定不一樣。程序必須用規定的程序設計語言來寫,而算法很隨意。算法是一系列解決問題的清晰指令,也就是說,可以對必定規範的輸入,在有限時間內得到所要求的輸出。算法經常含有重複的步驟和一些邏輯判斷。排序
舉例:輸入:n個數的一個序列(a1,a2,a3......,an).程序設計
輸出:輸入序列的一個排列(a1`,a2`,a3`,...,an`) 知足 a1`<=a2`<=a3`<=...<=an`;程序
例如:給定輸入序列(31,41,59,26,41,58)排序算法將返回序列(26,31,41,41,58,59)做爲輸出。這樣的輸入序列稱爲排序問題的一個實例,通常來講,問題實例由計算該問題所必須的(知足問題中陳述中加的各類約束)輸入組成。語言