给定T(0)和T(n)的递归关系-大O

时间:2019-01-21 21:56:18

标签: big-o recurrence

所以我需要解决这两个重复:

a) T(0)=1   T(n)=3T(n-1)+1 

b) T(1)=1 T(n)=4T(n/4)+1

我非常困窘,我什至不知道该如何开始,在寻找答案时,我不知道如何逐步进行。

我现在想弄清楚,所以如果没有人回答,我会尝试将我的想法放在这里。

1 个答案:

答案 0 :(得分:0)

好吧,我想我想通了yt上的视频。

对于将来可能需要它的人,我认为(如果我做得正确),这是解决此问题的最简单方法。

对于a)

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))