我在一本关于算法的书中遇到了这句话:
O 表示法表示常数因子内函数的上限
什么意思?
g(n) 另一个以 n 为参数的函数,例如 g(n) = n; g(n)=nlogn 等。
f(n) = O(g(n))
然后存在常量 c 和 k,使得对于所有 n>= k,f(n) <= c*g(n)。
这意味着,在实数线上,存在一个数 k,其存在一个常数 c,对于每个 n>= k,f(n) <= c*g(n)。
不太正式(不太真实):f 的增长速度不会超过 c 乘以 g。
这只是对big-O符号的数学定义的尝试英语描述。如果我们有 f(n) = O(g(n)),那么存在常量 c 和 k,使得对于所有 n>= k,f(n) <= c*g(n)。
我相信常数因子指的是c。
O 表示法
表示
Big-O是指一种描述...
函数的上限
..一个"最坏的情况",一个函数可以根据其输入增长的速度......
在一个恒定因子内"。
..这只能保证估计不会无限发散(即,有一些数字k
这样,无论你输入什么输入,实际函数都不会比 Big-O 估计差k
倍)
这有帮助吗?