Performance 重现期W(n)=2W(楼层(n/2))和#x2B;3.
我有这样的反复:Performance 重现期W(n)=2W(楼层(n/2))和#x2B;3.,performance,algorithm,recursion,geometry,Performance,Algorithm,Recursion,Geometry,我有这样的反复: W(n)= 2W(floor(n/2)) + 3 W(2)=2 我的尝试如下: 这棵树是这样的: W(n) = 2W(floor(n/2)) + 3 W(n/2) = 2W(floor(n/4)) + 3 W(n/4) = 2W(floor(n/8)) + 3 ... 树的高度:我假设它是lgn,因为树在每个扩展过程中有2个分支,但不确定:S 最后一级的成本:2^lgn*W(2)=2n h-1级之前所有级别的成本:从0到lgn-1的3*sigma(2^i),这是一个几何
W(n)= 2W(floor(n/2)) + 3
W(2)=2
我的尝试如下:
这棵树是这样的:
W(n) = 2W(floor(n/2)) + 3
W(n/2) = 2W(floor(n/4)) + 3
W(n/4) = 2W(floor(n/8)) + 3
...
- 树的高度:我假设它是lgn,因为树在每个扩展过程中有2个分支,但不确定:S
- 最后一级的成本:2^lgn*W(2)=2n
- h-1级之前所有级别的成本:从0到lgn-1的3*sigma(2^i),这是一个几何级数=3(n-1)
我的问题是:这是对的吗?如果你计算
W(4)
,你会发现W(4)=2*W(2)+3=2*2+3=7
,但是5*4-3=17
,所以你对T(n)
的结果是不正确的。这很接近,不过,在你的推理中有一个小失误(或者可能在某个地方)
编辑:具体地说,如果给出了
W(1)
,您的计算将有效,但问题中的W(2)
。要么后者是一个打字错误,要么你的身高差了一个。(当然,还有赛义德·阿米里所说的。)我不认为它是精确的5n-3
,除了n是2t,但是你的θ是对的,如果你看,没有必要计算它(但它对启动有好处):
假设您有:
T(n)=aT(n/b)+f(n),其中a>=1,b>1,则:
有关详细信息,请参见wiki。高度为lgn,因为在每个级别上,输入的大小都被切成两半,根据定义,这是log base 2。从另一个角度来看,log是power的倒数,在这个问题上,我不能使用master定理,所以我试图用递归树把它弄对。。谢谢你的回答。Amiri@Sosy我建议稍后阅读主定理证明,它将对你有很大帮助。嗯,我很确定我的错误是在最后一级中找到每级的成本,我所做的是:(2^lg n)(W(2)),因为我认为在最后一级子问题的大小将减少到2。是这样吗?