1.什么是算法?
程序=数据结构+算法
- 数据结构:数据结构是要处理的信息;
- 算法:算法是处理信息的步骤;
- 程序设计::设计一个好的数据结构;设计一个好的算法;
2.算法的五个特性(算法必须具备的特性)
- 有穷性:有穷时间内能执行完;
算法时有穷的;程序可以是无穷的。 - 确定性:相同输入只会产生相同输出;
- 可行性:可以用已有的基本操作实现算法;
- 输入:丢给算法处理的数据;
- 输出:算法处理的结果;
3.“好”算法的特质(设计算法时要尽量追求的目标)
- 正确性:能正确解决问题
- 可读性:对算法的描述要让其他人也能看懂
- 健壮性:算法能处理一些异常状况
- 高效率与低存储量需求:1.即算法执行省时、省内存;2.时间复杂度低、空间复杂度低