algorithm - 主定理和指数函数

标签 algorithm recurrence exponential big-o master-theorem

我最近遇到了一些关于主定理之类的练习。 有人要求我们找到某些表达式的 Θ()(给定 Τ(1)=Θ(1))。 大多数都是用主定理解决的,但是这个

T(n)=T(n^(5/6))+Θ(logn)

显然不是这样解决的,因为它不是定理的一般形式。
我们如何找到它的 Θ()?

最佳答案

您可以对系列进行伸缩以相对轻松地找到解决方案。它是 Theta(log n) 无论递归关系中的幂如何(假设它小于一)。这里使用 c 而不是 5/6。

T(n) = T(n^c) + log n
     = log n + log(n^c) + log(n^(c^2)) + log(n^(c^3)) + ...
     = (1 + c + c^2 + ...)(log n)
     <= (log n)/(1 - c)

通常T(n) >= log n,所以T(n) = Theta(log n)

关于algorithm - 主定理和指数函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43484406/

相关文章:

algorithm - 递归的复杂度 : T(n) = T(n-1) + T(n-2) + C

c++ - 不能在函数调用中使用 int 后递减

c++ - 为什么 (0+0i)^{0} == (nan, nan) 在 C++ 中

JavaScript 将 NUMBER.MIN_VALUE 与 0.0 进行比较返回 false

mysql - MySql 中使用了哪种数据结构?

c# - 解释这段代码是如何工作的

algorithm - 从日期数组中选择正确的日期 - Algo

algorithm - 分而治之算法在 O(logn) 中找到假币

algorithm - 这个递归算法的阶数/递归公式/闭合公式是什么?

algorithm - 一种按递增和递减顺序删除列表中最少数量的数字的算法?