Algorithm 求解递推T(n)=T(n/2)和#x2B;2T(n/4)和#x2B;N
我正在使用我朋友的pdf(算法解锁)研究复发问题,并试图解决复发问题,但我还不清楚递归树的机制(我假设这是用于解决此问题的方法)以及如何使界限更紧?例如,我希望常数变小?首先,查看给出的建议,并在发布问题之前尝试做一些事情。我回答这个问题只是因为我觉得更新我的技能很有趣Algorithm 求解递推T(n)=T(n/2)和#x2B;2T(n/4)和#x2B;N,algorithm,asymptotic-complexity,recurrence,big-theta,Algorithm,Asymptotic Complexity,Recurrence,Big Theta,我正在使用我朋友的pdf(算法解锁)研究复发问题,并试图解决复发问题,但我还不清楚递归树的机制(我假设这是用于解决此问题的方法)以及如何使界限更紧?例如,我希望常数变小?首先,查看给出的建议,并在发布问题之前尝试做一些事情。我回答这个问题只是因为我觉得更新我的技能很有趣 解决方案是O(n log(n)) 所以你们必须看到,主定理在这里不起作用,但会起作用 因此这里g(n)=n,a1=1,b1=1/2,a2=2,b2=1/4。解方程:a1*b1^p+a2*b2^p=1你得到p=1 现在求解积分i
解决方案是
O(n log(n))
所以你们必须看到,主定理在这里不起作用,但会起作用
因此这里g(n)=n
,a1=1
,b1=1/2
,a2=2
,b2=1/4
。解方程:a1*b1^p+a2*b2^p=1
你得到p=1
现在求解积分
int(1/u)du
从1
到x
将得到log(x)
。因此复杂性是O(x(1+log(x))
,这是O(nlog(n))
,其中O是一个紧边界。尝试使用递归树扩展递归。
您将有如下内容:
请注意,每个级别都有一个非递归复杂性=n
通过扩展T(n),我们有两个高度不同的子树。
您可以看到2个高度H1和H2
现在T(n)受2个子树的复杂性限制:
n*H1>=T(n)>=n*H2
其中:
H1=1+log_2(n)和H2=1+log_4(n)
所以解为O(nlog_2(n))谢谢你的帮助。我想知道递归树方法是否能解决这个问题?因为在这本书中,只有替换、递归树和主定理在递归课程中。谢谢,递归展开会起作用,我只是想练习Akra Bazzi,因为我今天已经展开了两个递归。我明白了,我只是想问你是否可以使用递归树方法,这样我就可以了解发生了什么,因为我不熟悉Akra Bazzi,我目前正在学习递归树方法。非常感谢你的回答非常简单和精确!很遗憾,这不算是一个证明。这在数学中被称为手工操作:-)