算法的特性
算法的特性:输入、输出、有穷性、确定性和可行性
- 输入输出:具有零个或多个输入,至少有一个或多个输出
- 有穷性:在执行有限的步骤后,字段结束而不回出现无限循环,且每个步骤在可接受的时间范围内完成
- 确定性:每一步骤都具有确定的含义,不会出现二义性
- 可行性:每一步都必须是可行的,每一步都能通过执行有限次数完成
算法设计的要求
- 正确性: (1) 没有语法错误
(2) 对于合法的输入数据能产生满足要求的输出结果
(3) 对于非法输入数据能得出满足规格说明的结果
(4) 对于精心选择的,甚至刁难的测试数据都有满足要求的输出结果 - 可读性:便于阅读,理解和交流
- 健壮性:当输入数据不合法时,算法也能做出相关处理,而不是产生异常或莫名其妙的结果
- 时间效率高和存储量低:用最少的时间和内存来实现
复杂度推导式:
常见的时间复杂度: