谈谈算法
算法
解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示为一个或多个操作
eg: 泡妞的技巧和方式
算法具有5个基本特征:
- 输入:具有零个或多个输入
- 输出:至少有一个或多个输出
- 有穷性:指在执行有限的步骤
- 确定性:
- 每一个步骤都具有确定的含义,不会出现二义性
- 在一定条件下,只有一个执行路径,相同的输入只能有唯一的输出结构
- 每个步骤都应该被精确定义而无歧义
- 可行性
- 算法的每一步都必须是可行性,也是每一步都能勾通过执行有限次数完成
算法设计的要求
-
正确性
- 至少有输入、输出和加工处理无歧义,能够正确反应问题的需求、能够得到问题的正确答案
- 四个层次:
- 有语法错误
- 对于合法输入能够产生满足要求的输出
- 对非法输入能够产生满足规格的说明
- 对故意刁难的测试输入都有满足要求的输出结果
-
可读性
- 算法目的便与阅读、理解和交流
- 一方面让计算机执行、一方面方便他人阅读和自己日后阅读修改
-
健壮性
- 当输入数据不合法时,算法也能做出相关处理,而不是产生异常、崩溃和莫名其妙的结果
-
时间效率高和存储量低