一、 算法的概念
算法是对一个问题的准确而完整的描述。
二、 算法的特征
(1) 有穷性
算法的有穷性是指算法必须在执行有限个步骤之后终止。
(2) 确切性
算法的每一步骤必须有确切的定义。
(3) 输入项
一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定义了初始条件。
(4) 输出项
一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是没有意义的。
(5) 可行性
算法中执行的任何步骤都是可以被分解为基本的可执行的操作步,即每个计算步都可以在有限时间内完成(也称之为有效性)。
三、 算法的评定
(1) 时间复杂度
时间复杂度是指执行算法所需要的计算工作量。
(2) 空间复杂度
空间复杂度是指算法需要消耗的内存空间。
(3) 正确性
正确性是指对于合法的输入,能得出正确的结果。
(4) 可读性
可读性是指可供人们阅读的容易程度。
(5) 健壮性
健壮性是指一个算法对不合理数据输入的反应能力和处理能力,也称为容错性。
四、 算法的描述方式
(1) 自然语言
(2) 流程图
(3) 伪代码