📜  门| GATE-CS-2001 |问题 16

📅  最后修改于: 2021-09-25 07:44:53             🧑  作者: Mango

设 f(n) = n 2 Logn 和 g(n) = n (logn) 10是 n 的两个正函数。以下哪个说法是正确的?
(A) f(n) = O(g(n)) 和 g(n) != O(f(n))
(B) f(n) != O(g(n)) 和 g(n) = O(f(n))
(C) f(n) = O(g(n)) 但 g(n) = O(f(n))
(D) f(n) != O(g(n)) 但 g(n) != O(f(n))答案:(乙)
解释:

Logn 的任何常数幂都渐近地小于 n。

证明:

给定 f(n) =n 2 Logn 和 g(n) = n (logn) 10
在这类问题中,我们建议您首先取消两个函数的公因数。删除这些之后,我们剩下 f(n) = n 和 g(n) = (logn) 9 。从两个函数中删除一个 nlogn 因子。

现在,与 (logn) 的任何恒定积分幂相比,n 渐近地非常大,我们可以通过代入非常大的值(例如 2 100 )来验证。

f(2 100 ) = 2 100 = 1030 和 g(2 100 ) = 100 9 = 1018。

始终记住要替换非常大的 n 值,以便比较这两个函数。否则你会得出错误的结论,因为如果 f(n) 渐进大于 g(n),这意味着在 n 的特定值之后,f(n) 将始终大于 g(n)。

此解决方案由Pranjul Ahuja贡献。
这个问题的测验