关于大 O 表示法定义



我在一本关于算法的书中遇到了这句话:

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倍)

这有帮助吗?

相关内容

  • 没有找到相关文章

最新更新