算法是解决问题的步骤。程序是对问题的具体代码实现。算法和程序都是指令的有限序列,但是程序是算法,而算法不一定是程序。它们的主要区别在语言描述上和执行实践上。在语言描述上,程序必须是规定的程序设计语言来写,而算法和随意。在执行时间上,算法所描述的步骤一定是有限的,而程序可以无限的执行下去。所以:程序=数据结构+算法。