【发布时间】:2023-06-14 09:34:01
【问题描述】:
我有一个 sn-p 算法,必须找到最坏情况的递归并找到它的封闭形式。到目前为止,我遇到了最坏的情况:
T(n)= 2T(n/4) + C for n > 1.
我尝试扩展它,我目前有这个表格:
T(n) = 2kT(n/4k) + Ck
其中 k = log4(n) 或 k = (log2(n))/2。
我有 T(1) = 1000。
我不知道下一步该做什么,或者如何准确地找到它的封闭形式。我仍然看不到算法中的模式或我对 T(n) 的扩展。任何见解都会很棒,谢谢。
【问题讨论】:
-
这是一个简单的等差数列,不是指数数列。 T + c, 3/2T + c, 2T + c, 5/2T + c, 3T + c, 7/2T + c,
-
考虑一下 k 在你的中间形式中代表什么。它与n有什么关系?特别想一下n = 1的时间,所以可以使用T(1)。
-
@JohnC 我将 n/4^k 替换为 1,这也是我得到 k = 0.5log2(n) 的地方。当我在等式中使用 T(1) 时,它变为 2000*2^(0.5log2(n)) + C*0.5log2(n)。然后我应该用递增值替换 n 以找到一个共同的模式吗?
-
不,那应该是模式,n的一个函数,所以你快到了。但是,这不是第一项的最简单形式。毕竟对数和指数是逆运算...
标签: algorithm data-structures recurrence