T(n)= T(n-1)+ O(log n)$是T(n)= O(n ^ 2)或T(n)= O(n log n)

时间:2014-11-04 21:32:50

标签: recursion big-o

我有这种递归关系:T(n)= T(n-1)+ O(log n)

解决方案是什么? T(n)= O(n ^ 2)或T(n)= O(n log n)

我做的是:我假设T(n)<= O(n ^ 2)...... enter image description here

这会把我带到O(n ^ 2),我是对的? 或者我有错? (我从某人那里听说他得到了O(n log n)和我是好朋友,如果我对他或他......)

谢谢!

1 个答案:

答案 0 :(得分:2)

  

如果某些c的T(n)&lt; = T(n-1)+ c log n

     

=&GT; T(n)&lt; = T(n-2)+ c log(n-1)+ c log n

     

=&GT; T(n)&lt; = T(n-3)+ c log(n-2)+ c log(n-1)+ c log n

     

因此:T(n)&lt; = T(0)+ sum_ {i = 1 .. n} c log i = O(n log n)

     

但O(n ^ 2)也正确,但不太具体,因为T(n)= O(n ^ 2)意味着

     

有一些a,m使得所有n的T(n)<= a n ^ 2 = m