这意味着所讨论的事物(通常是运行时间)的缩放比例与其输入大小的对数一致。
Big-O表示法并不意味着 确切的 方程式,而是一个 界限 。例如,以下函数的输出均为O(n):
f(x) = 3x
g(x) = 0.5x
m(x) = x + 5
因为当你增加X,它们的输出都增加而线性- 如果有一个6:1之间的比例f(n)
和g(n)
,也将有大约6:1的比例之间f(10*n)
和g(10*n)
等。
至于是否O(n)
还是O(log n)
比较好,可以考虑:如果n = 1000
,那么log n = 3
(日志基-10)。您宁愿算法运行1000秒还是3秒?