T(n)= T(cn)+ T((1-c)n)的复杂性

时间:2017-03-28 19:46:04

标签: complexity-theory

我试图计算T(n)=T(cn)+T((1−c)n)+1

的复杂程度

我虽然要改变T(n)+1 to S(n) 然后我得到了

S(n)-1=S(cn)-1+S((1−c)n)-1+1 =====> S(n)=S(cn)+S((1−c)n)

但现在我仍然坚持计算。

1 个答案:

答案 0 :(得分:0)

你应该尝试用递归树来解决这个问题                                                               时间补偿

                       T(n)                              1                     
                       /  \                              
                      /    \
                 T(cn)      T((1-c)n)                    1
                /  \             /     \
               /    \           /       \
          T(ccn) T(c(1-c)n) T(c(1-c)n)   T((1-c)(1-c)n)  1
                                           |
                                           |
                                           |
                                         T(n(1-c)^k)

这将一直持续到n(1-c)^k=1为止 为 k 解决这个问题,给出 k = log 1-c (1 / n)
因此每个步骤的时间复杂度为 O(1),因此

总时间复杂度 TC = O(log 1-c (1 / n))