1.有穷性。一个算法应包含有限的操作步骤,而不能是无限的。事实上“有穷性”往往指“在合理的范围之内”。如果让计算机执行一个历时1000年才结束的算法,这虽然是有穷的,但超过了合理的限度,人们不把他视为有效算法。2. 确定性。算法中的每一个步骤都应当是确定的,而不应当是含糊的、模棱两可的。算法中的每一个步骤应当不致被解释成不同的含义,而应是十分明确的。也就是说,算法的含义应当是唯一的,而不应当产生“歧义性”。3. 有零个或多个输入、所谓输入是指在执行算法是需要从外界取得必要的信息。4. 有一个或多个输出。算法的目的是为了求解,没有输出的算法是没有意义的。5.有效性。 算法中的每一个 步骤都应当能有效的执行。并得到确定的结果。