1.计算机的“时空”
在日常生活中,我们也许总为摆放物件腾不出多余空间而发愁,而又或者做某件时间紧张 而苦恼。同样计算机虽然有着“超级大脑”,当计算时间过长或者开辟内存过多,它也会发愁,从而导致运行效率与性能降低。这时候计算机解决不了的问题就抛给了程序员,时间复杂度与空间复杂度给了程序员一个算法设计的"比例尺“,同时它们也是判断一个算法效率高低好坏的可靠指标。目前,随着时代的进步,计算机的储存容量已经大有提高,程序员在开发过程中已经不再过多的考虑算法的空间复杂度。下面让我们一起走进本节内容。
2.大O渐进表示法
大O渐进表示法是用于描述函数渐进行为的数学符号。计算机领域表示时间、空间空复杂度的常用方法。该方法的表达方式为数学范畴的函数表达式
使用该方法的注意事项:
1.最终表达式中只包含最高阶项;
O ( N 2 + N ) O ( N 2 ) \begin{matrix} \sout{\Omicron(N^2+N) } &\Omicron(N^2) \end{matrix} O(N2+N)O(N2)
2.最高阶项的系数为常数、加法常数直接用1代替,
O ( c N 2 + d ) ( c 、 d 为常数 ) O ( N 2 ) \begin{matrix} \sout{\Omicron(cN^2+d) }(c、d为常数) &\Omicron(N^2) \end{matrix} O(cN2+d)(c、