简体   繁体   English

如何通过迭代解决递归关系

[英]How to solve Recurrence Relation by Iteration

So my professor wants us to do it that way.所以我的教授希望我们那样做。

Those are his examples:这些是他的例子:

Tfac(n) = Tfac(n-1) + 1
Tfac(n-1) = Tfac(n-2) + 1
...
Tfac(2) = Tfac(1) + 1
Tfac(1) = const;

Tfac(n)=1+1+…+1+const=n-1+const=O(n)
------------------------------------
Tbin(n) = 2^1.Tbin(n-1) + 2^0
2^1.Tbin(n-1) =2^2.Tbin(n-2) + 2^1
2^2.Tbin(n-2) =2^3.Tbin(n-3) + 2^2
...
2^n-2.Tbin(2) = 2^n-1.Tbin(1) + 2^n-2
2^n-1.Tbin(1) = 2^n-1.const;

Tbin(n)=2^0+2^1+2^2+…+2^n-2+2^n-1+c’2^n-1 =
= 2^n-1+(const-1).2^n-1 = O(2^n)

I don't quite get it tho.我不太明白。 These are my 2 tries on some examples.这些是我对一些示例的 2 次尝试。 Would appreciate an explenation and how to do it right.希望有一个解释以及如何正确地做到这一点。

T(1) = 3
T(n) = T(n-1) + n + 4
T(n-1) = T(n-2) + n + 4
...
T(2) = T(1) + n + 4
T(1) = const

T(n) = n + 4 + n + 4 +...+ n + 4 + const = o(n)
-------------------------------
T(1) = 4
T(n) = T(n-1) + n + 3
T(n-1) = T(n-2) + n + 3
...
T(2) = T(1) + n + 3
T(1) = const

T(n) = n + 3 + n + 3 +...+ n + 3 + const = O(n)

Here is the first example solved:这是解决的第一个示例:

T(n) = T(n-1) + n + 4
     = (T(n-2)+ n-1 + 4) + n + 4
     = ((T(n-3) + n-2 + 4) + n-1 + 4) + n + 4
     ...
     = T(1) + n^2 + 4n - 1 - 2 - 3 - 4 ... - (n-1)
     = 4 + 4n + (n^2 - 1/2*(n^2-n))
     = 4 + 4n + 1/2*n + 1/2*n^2
     = O(n^2)

In your solution, you're forgetting to write some terms after each iteration.在您的解决方案中,您忘记在每次迭代后编写一些术语。 It really helps to use brackets as I have to avoid this.使用括号真的很有帮助,因为我必须避免这种情况。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM