算法有5个基本特性:输入、输出、有穷性和可行性
一、输入输出
输入和输出比较容易理解,算法具有零个或多个输入。尽管对于绝大多数算法来说,输入参数都是必要的,但对于个别情况,如打印“hello world”这样的代码,不需要任何输入参数,因此算法的输入可以是零个。算法至少有一个或多个输出,算法是一定要有输出的,输出形式可以是打印输出,也可以是返回一个或多个值等。
二、有穷性
有穷性:指算法在执行有限的步骤之后,自动结束而不会出现无限循环,并且每一个步骤在可接受的时间内完成。
三、确定性
确定性:算法每一步骤都具有确定的含义,不会出现二义性。
四、可行性
可行性:算法的每一步都必须是可行的,也就是说,每一步都能通过执行有限次数完成。