算法是解決問題的步驟;程序是算法的代碼。實現算法要依靠程序來完成功能;程序需要算法作為靈魂。
區別主要在于:
1在語言描述上,程序必須是用規定的程序設計語言來寫,而算法很隨意;
2在執行時間上,算法所描述的步驟一定是有限的,而程序可以無限地執行下去。
具體區別和聯系:
1)算法在描述上一般使用半形式化的語言,而程序是用形式化的計算機語言描述的。2)程序是計算機指令的有序集合。3)程序并不都滿足算法所要求的特征,例如操作系統,是一個在無限循環中執行的程序,因而不是一個算法。4)一個算法可以用不同的編程語言編寫出不同的程序。5)算法是解決問題的步驟;程序是算法的代碼實現。6)算法要依靠程序來完成功能;程序需要算法作為靈魂。7)程序=算法+數據結構。