【发布时间】:2019-06-15 08:02:18
【问题描述】:
所以我需要解决这两个重复:
a) T(0)=1 T(n)=3T(n-1)+1
b) T(1)=1 T(n)=4T(n/4)+1
而且我很困惑,我什至不知道如何开始,在寻找答案时我不明白如何一步一步地做到这一点。
我现在正在尝试弄清楚,所以如果没有人回答,我会尝试在这里写下我认为它是如何完成的。
【问题讨论】:
标签: big-o recurrence
所以我需要解决这两个重复:
a) T(0)=1 T(n)=3T(n-1)+1
b) T(1)=1 T(n)=4T(n/4)+1
而且我很困惑,我什至不知道如何开始,在寻找答案时我不明白如何一步一步地做到这一点。
我现在正在尝试弄清楚,所以如果没有人回答,我会尝试在这里写下我认为它是如何完成的。
【问题讨论】:
标签: big-o recurrence
好的,我想我想多亏了 yt 上的一个视频。
对于那些将来可能需要它的人,我认为(如果我做得正确的话),这是解决这个问题的最简单方法。
为了一个)
T(0)=1 T(n)=3T(n-1)+1
We make two columns
Solution Work
k=1 T(n)=3T(n-1)+1 T(n-1)=3T(n-2)+1
T(n)=3[3T(n-2)+1]+1
k=2 =3^2T(n-2)+2 T(n-2)=3T(n-3)+1
=3^2[3T(n-3)+1]+2
k=3 =3^3T(n-3)+3
//Now we see that there's a pattern here so we just have to write it down
n=k T(n)=3^kT(n-k)+k T(n)=3^nT(0)+n
T(n)=3^nT*1+n
T(n)=3^n+n ~ O(3^n)
为 b)
T(1)=1 T(n)=4T(n/4)+1
We make two columns
Solution Work
k=1 T(n)=4T(n/4)+1 n=4^m
=4T(4^m-1)+1 T(m-1)=4T(4^m-2)+1
=4[4T(4^m-2)+1]+1
k=2 =4^2T(4^m-2)+2 T(m-2)=4T(4^m-3)+1
=4^2[4T(4^m-3)+1]+2
k=3 =4^3T(4^m-3)+3
//same pattern thing over here
n=k =4^kT(4^m-k)+k k=log4(n)
T(m)=4^kT(1)+k
T(n)=4^log4(n)*1+log4(n) ~ O(log4(n))
【讨论】: