algorithm - 了解上限、下限算法分析的实例

标签 algorithm big-o computer-science asymptotic-complexity

我正在继续理解渐近分析的任务。如果 mods 愿意,最好只发布一个元帖子。无论如何:

我有两个功能:

 f(n) = n^2
 g(n) = (log n)^80

根据 l'Hopitals 规则分析:

 lim(n->∞) f(n)/g(n) = f'(n)/g'(n)

这给我们留下了:

 f'(n)/g'(n) = 2n/(80*(log n / √2)

这最终将引导我们:

 0/g''(n) = 0 

据我了解,这表明 f(n) = o(g(n))

我的理解正确吗?

最佳答案

如果分子和分母都收敛于零或无穷大,则可以应用 L'Hopital 规则。所以你的方法在一般情况下是正确的。但是你在计算 g'(n) 时犯了错误。

g'(n) = (80 * log(n)) * 1/(2 ln (n))
  => f'(n)/g'(n) = 2n / ((80 * log(n)^79) * 1/(n ln(2))) 
   = 2n^2 / 80log(n)^79 ln(2)

此时f'(n)/g'(n)的极限也是∞/∞。所以你可以再次应用 L'Hopital 规则。但结果是一样的。但是在第 80 次申请之后,你有这个:

2^80 n^2 / 80! ln(2)^80
  =>  lim(n->∞) f(n)/g(n) = ∞ 

因此,g(n) = o(f(n))

关于algorithm - 了解上限、下限算法分析的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50555306/

相关文章:

algorithm - 逐行搜索排序的 2D n x n 矩阵

python - 加权格子路径

python - 使用DP解决 "Knapsack"

algorithm - 通过在不超过特定组大小的情况下合并组来最小化组的数量

c - 查找重复字符串的高效搜索算法

algorithm - 递归树算法的运行时复杂度是多少,它在不同子树大小的数量上是二次的?

python - 以下解决方案的时间复杂度是 O(N) 吗?

time-complexity - 大O : What is the name for the complexity O(a * b)?

python - 如何在 for 循环中更改它?

c - 从K&R的 "The C Programming Language"学习C