算法是解题方案的准确而完整的描述,在数学和计算机科学中可以被视为具体计算步骤的一个序列,算法中的指令描述是完整的计算过程,即运行时能从一个初始状态和初始输入开始,经过一系列有限而清晰定义的状态,最终产生输出并停止于一个终态。
简单来说,所谓算法(algorithm) 就是定义良好的计算过程,它取一个或一组值作为输入,并产生出一个或一组值作为输出。亦即, 算法就是一系列的计算步骤,用来将输人数据转换成输出结果。
我们还可以将算法看作是一种工具,用来解决一个具有良好规格说明的计算问题。有关该问题的表述可以用通用的语言,来规定所需的输人/输出关系。与之对应的算法则描述了一个特定的计算过程,用于实现这一输人/输出关系。
一个算法应该具有以下五个重要的特征
算法可以宏泛的分为三类