如何找到算法的时间复杂度
您将根据输入大小来执行多少条机器指令,然后将表达式简化为最大(当N非常大时)项,并且可以包括任何简化的常数因子。
例如,让我们看看如何简化
2N + 2机器指令以将其描述为just
O(N)。
我们为什么要删除两个2
?
随着N变大,我们对算法的性能感兴趣。
考虑两个项2N和2。
当N变大时,这两个项的相对影响是什么?假设N是一百万。
那么第一项是200万,第二项只有2。
因此,对于大的N,我们除最大项外都舍弃了所有项。
因此,现在我们从
2N + 2转到
2N。
传统上,我们只对 直到恒定因素的 性能感兴趣。
这意味着当N大时,我们并不真正在意性能差异是否存在恒定的倍数。最初,2N的单位定义不明确。因此,我们可以乘以或除以一个常数因子,以获得最简单的表达式。
因此
2N成为正义
N。



