使用主定理的以下递归算法的运行时间是多少?

时间:2013-09-13 15:05:08

标签: algorithm big-o master-theorem

我不太确定以下算法的运行时间:

T(n) = 2T(n/2) + n/logn

我认为这是主定理的O(n),但我不知道n/logn是否渐近等于n。有人可以解释一下吗?

2 个答案:

答案 0 :(得分:0)

当n趋于无穷大时,考虑(n / log(n))/ n的极限。对于所有n> 0,(n / log(n))/ n等于1 / log(n)。 1 / log(n)趋向于零,因为n倾向于无穷大,而不是1,因此n / log(n)和n不是渐近相等。

答案 1 :(得分:0)

nlog n并非渐近相等。如果您尝试在lim n / log n限制内计算n = inf,则可以使用L'Hôpital's rule并快速结束无限的lim n,从而证明n是偶然的大于log n

然而,更大的问题是,根据一些地方你的问题是病态的。这种情况不满足主定理的前提条件。在Example 7点击。 - 完全是你的情况。