算法的基本概念
算法(Algorithm)是对特定问题求解步骤的一种描述,它是指令的有限序列,其中的每条指令表示一个或多个操作。
此外一个算法还具有下列 5 个重要特征:
- 有穷性:一个算法必须总在执行有穷步之后结束,且每一步都可在有穷时间内完成
- 确定性:算法中每条指令必须有确切的含义,对于相同的输入只能得出相同的输出
- 可行性:算法中描述的操作都可以通过已经实现的基本运算执行有限次来实现
- 输入:一个算法有零个或多个输入
- 输出:一个算法有一个或多个输出
算法效率的度量
算法效率的度量是通过时间复杂度和空间复杂度来描述的
-
时间复杂度
一个语句的频度是指该语句在算法中被重复执行的次数。
-
空间复杂度
算法的空间复杂度 Sn 定义为该算法所耗费的存储空间,它是问题规模 n 的函数