算法(算法不等于程序)
特征:
- 可行性
- 确定性:算法中每个步骤必须是明确定义的
- 有穷性:必须在有限时间,有限个步骤内完成
- 足够的情报:算法要有一定的输入数据和必须要有输出结果。
描述算法的工具:
- 传统流程图
- N-S结构化流程图
- 算法描述语言
算法的三种基本结构
- 顺序
- 选择(分支)
- 循环(重复)
算法的时间和空间复杂度
时间复杂度:是指执行算法所需要的计算工作量,可以用算法所执行的基本运算次数来度量。
空间复杂度:是指执行算法所需要的内存空间。 包括算法程序、输入的初始数据以及算法执行过程中需要的额外空间。
注意:时间复杂度和空间复杂度相互独立,没有关系。