算法与复杂度
算法
一个算法是一组有限的指令,遵循这些指令可以完成特定的任务。它不依赖于特定的语言,我们可以使用任何语言和符号来表示指令。
算法的标准
- 输入:算法从外部获取零个或多个输入。
- 输出:算法至少产生一个输出。
- 确定性:每个指令都清晰明确,没有歧义。
- 有限性:对于所有不同的情况,算法在有限的步骤后都会终止。
- 有效性:每个指令都必须非常基本,因此我们必须非常清楚这些指令的目的。
算法分析
算法分析是计算复杂度中的一个重要部分。复杂度理论为算法解决任何计算任务所需的资源提供了理论估计。算法分析是根据算法在时间和空间方面(实现时存储所需的内存大小)解决问题的能力来分析算法的过程。但是,算法分析的主要关注点是所需的时间或性能。
算法的复杂度
算法的复杂度计算算法对于大小为 (n) 的输入所需的时间和空间量。算法的复杂度可以分为两种类型:时间复杂度和空间复杂度。
算法的时间复杂度
时间复杂度定义为确定执行该算法所需的总时间公式的过程。此计算完全独立于实现和编程语言。
算法的空间复杂度
空间复杂度定义为定义用于预测算法成功执行需要多少内存空间的公式的过程。内存空间通常被认为是主存。
广告