使用主定理的算法成本

标签 algorithm theorem

<分区>

谁能帮我解决这个问题?

T(n)=T(n^(1/2)) + theta (lg lg n)

这是我到目前为止所做的。

让:

m = lg n
s(m)=s(m/2) + theta (lg m)

在这里应用主定理

a=1 b=2
m^log 2 (1) = m^0 =1 

现在我卡住了。

最佳答案

你有:

a = 1, b = 2
f(m) = Ө(lg(m))

主定理的第二种情况适用于:

f(m) = Ө(m^c * lg^k(m))

哪里:

c = log_b(a)

对此进行测试,我们有:

f(m) = Ө(lg(m)) = Ө(m^0 * lg(m)) 
-> c = 0
-> c = log_b(a) = log_2(1) = 0

所以第二种情况确实适用。因此,对复发的解决方案是:

T(m) = Ө(m^c * lg²(m)) = Ө(lg²(m))

代入m,我们回到

T(n) = Ө(lg²(lg(n)))

关于使用主定理的算法成本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28905213/

相关文章:

JAVA时序冒泡排序和快速排序算法

r - 如何在 bookdown 定理或示例环境中使用内联 R 代码

insertion-sort - 使用 Isabelle 证明插入排序算法

c# - 将一个对象列表转换为另一个列表

c++ - 如何独立于主渲染循环逐步执行算法(出现提示时)?

algorithm - 如何解决下面的递归关系?

c - 二项式定理 - C 语言算法

python - 检查两个数字是否可以相同的算法

node.js - 用户重新排序资源的 RESTful 解决方案