我有一个问题。
在我的书中,他们有以下重复:
T(n) = 3*T(floor(n/4))+theta(n^2)
他们试图猜测T(n)= O(n ^ 2)然后他们使用替换方法来验证猜测。但他们没有展示基本情况?这不是必要的吗?
我想也许是因为当n = 1时他们不知道T(n)会发生什么。 ??
在我的书中,他们也有重复T(n)=2*T(floor(n/2))+n and T(1)=1
然后他们猜测T(n)=O(n lg n)
他们使用替换方法来验证它。
他们假设T(n)=O(n lg n) for all positive m<n
T(n) <= 2(c*floor(n/2)*lg(floor(n/2))+n
<= c*n*lg(n/2)+n
= c*n*lg(n)-c*n*lg(2)+n
= c*n*lg(n)-c*n+n
<= c*n*lg(n)-c*n+n
Where c>=1
确定。然后他们说:“数学归纳要求我们证明我们的解决方案适用于边界条件”
T(1)<=c*1*lg(1)=0
与T(1)=1
然后他们利用渐近符号,要求他们只证明T(n)<= c*n*lg(n) for n>=n0
他们在哪里选择n0
然后他们将T(1)替换为T(2)= 4和T(3)= 5作为归纳证明中的基本情况n0 = 2
我的问题是:
为什么我必须用T(2)和T(3)替换基本情况T(1)?为什么不用T(2)= 4
替换它我可以从重现中得出T(2)= 4,然后说
T(2)<= c*2*lg(2) = c*2
Where c>=1 and I choose c>=2
为什么我要考虑T(3)?
答案 0 :(得分:0)
首先,如何评估T(6)? T(6)= 2 * T(floor(6/2))+ 6 =&gt; T(6)= 2 * T(3)+ 6 = 16。
其次,他们写过 - 在n&gt;之后3,它独立于T(1)...所以在1之后和之前4都应该作为基本情况给出。
这就是为什么我们还有2个输入T(3)。
请评论......