算法和程序的区别:
(1)两者定义不同。算法是对特定问题求解步骤的描述,它是有限序列指令。而程序是实现预期目的而进行操作的一系列语句和指令。
说通俗一些算法是解决一个问题的思路,程序,是解决这些问题所具体好写的代码。算法没有语言界限。他只是一个思路。为实现相同的一个算法,用不同语言编写的程序会不一样。
(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)作为输出。这样的输入序列称为排序问题的一个实例,一般来说,问题实例由计算该问题所必须的(满足问题中陈述中加的各种约束)输入组成。