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