一个算法应该具有以下五个重要的特征:
1,有穷性(Finiteness):一个算法必须保证执行有限步之后结束;
2,确切性(Definiteness):算法的每一步骤必须有确切的定义;
3,输入项(Input):一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定出了初始条件;
4,输出项(Output):一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;
5,可行性(Effectiveness):算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。