【发布时间】:2016-06-21 21:40:53
【问题描述】:
我在一本关于算法的书中看到了这句话:
O -notation 表示函数在常数因子内的上限
什么意思?
【问题讨论】:
-
在谷歌中输入“big o notation”。阅读你能找到的一切。如果有不明白的地方,请提出问题。
我在一本关于算法的书中看到了这句话:
O -notation 表示函数在常数因子内的上限
什么意思?
【问题讨论】:
g(n) 另一个以 n 为参数的函数。例如g(n) = n; g(n)=nlogn 等。
f(n) = O(g(n))
那么存在常数 c 和 k 使得对于所有 n >= k, f(n)
这意味着,在一条实线上,存在一个数 k,其中存在一个常数 c,对于每个 n >= k, f(n)
不太正式(不太真实):f 的增长速度不会超过 c 乘以 g。
【讨论】:
这只是对 big-O 符号的数学定义的尝试性英文描述。如果我们有 f(n) = O(g(n)),那么存在常数 c 和 k,使得对于所有 n >= k,f(n)
我相信常数因子指的是c。
【讨论】:
O-记法表示
Big-O 指的是一种描述...的方式
函数的上限
..一个“最坏的情况”,一个函数可以根据其输入增长多快...
在一个常数因子内”。
..只保证估计不会无限期地发散(即,有一些数字k 这样,无论您输入什么输入,实际函数都不会比 Big-O 估计差k 倍)
这有帮助吗?
【讨论】: