渐近复杂性比较

问题描述 投票:-2回答:2

任何人都可以解释其中哪一个具有最高的渐近复杂度以及为什么,

10000000n vs 1.000001^n vs n^2
algorithm time-complexity asymptotic-complexity
2个回答
2
投票

你可以使用asymptotic analysis的标准统治规则。

统治规则告诉你,当n -> +Infn = o(n^2)。 (注意符号O(.)o(.)之间的差异,后者意味着f(n) = o(g(n))如果存在一个序列e(n)收敛到0作为n -> +Inf使f(n) = e(n)g(n)。使用f(n) = ng(n) = n^2,你可以看到f(n)/g(n) = 1/n -> 0作为n -> +Inf。)

此外,你知道对于任何整数k和真正的x > 1,我们有n^k/x^n -> 0作为n -> +Infx^n(指数)复杂性支配n^k(多项式)复杂性。

因此,为了增加复杂性,您需要:

n << n^2 << 1.000001^n

注意:10000000n可以用O(n)编写,其中包含用于计算机科学中渐近分析的松散书面约定。回想一下,算法的复杂性C(n)O(n)C(n) = O(n))当且仅当(iff)存在​​整数p >= 0K >= 0时,对于所有n >= p|C(n)| <= K.n的关系成立。


0
投票

在计算渐近时间复杂度时,您需要忽略n的所有系数,并只关注其指数。

指数越高,时间复杂度越高。

在这种情况下

我们忽略n的系数,留下n^2, x^n and n

但是,我们忽略第二个因为它有n的指数。由于n^2高于n,你的问题的答案是n^2

© www.soinside.com 2019 - 2024. All rights reserved.