算法的时间和空间复杂度的分析

时间:2022-08-02 14:36:07

1.
算法的五个重要特征是:
有穷性,确定性,可行性,输入,输出。
2.
算法的设计要求:
正确性,可读性,健壮性,效率与低存储量需求。
3.
算法效率的度量:
(1)事后统计的方法:
优点:
可以分辨程序的优劣,有时甚至可以精确到毫秒。
缺点:
a.必须先运行程序;
b.容易掩盖算法本身的优劣。
(2)事前分析估算的方法:
因素:
算法策略,问题规模,语言级别,机器代码质量,机器执行指令的速度。
4.
算法的时间复杂度:
T(n) = O(f(n));
常见的渐近时间复杂度:
O(1) < O(log2(n)) < O(n) < O(nlog2(n)) < O(n^2) < O(n^3) < O(n!) < O(n^n)。
5.
算法的空间复杂度:
S(n) = O(f(n));
所占内存空间:
输入数据,程序本身,辅助变量。