算法:为解决某个问题而定义制作的一组确定的、有限的操作步骤。
- 有穷性:算法能够通过有限的步骤完成目标,并且每一步都是在合理的时间内完成。
- 确定性:算法的每步都是确定的,而不是模棱两可的
- 有零个或者多个输入
- 有一个或者多个输出
算法的分析设计一般采用自顶而下的方法。
程序:程序是用计算机语言将算法表达出来,并且最终能实现这个算法和解决问题。
著名计算机科学家沃斯提出一个经典的公式:
数据结构+算法=程序
- 数据的描述,就是指定数据的类型以及数据的组织形式,即数据结构。
- 操作的描述,即操作步骤,也就是算法。