Recurrence Relation Examples 1
Recurrence Relation Examples 1
T(n) = T(n-1) + 1
void Test(int n)
{
if(n>0)
{
printf(“%d”,n);
Test(n-1);
}
}
Test(3)
3 Test(2)
2 Test(1)
1 Test(0)
T(n) = T(n-1) + 1
1 𝑛=0
T(n) =
T(n−1) + 1 𝑛 > 0
Substitute T(n-1)
T(n) = [T(n-2) + 1] + 1
T(n) = T(n-2) + 2
T(n) = [T(n-3) + 1] + 2
T(n) = T(n-3) + 3
…
Continue for k times
T(n) = T(n-k) + k
1 𝑛=0
T(n) =
T(n−1) + 1 𝑛 > 0
Substitute T(n-1)
T(n) = [T(n-2) + 1] + 1
T(n) = T(n-2) + 2
T(n) = [T(n-3) + 1] + 2
T(n) = T(n-3) + 3
…
Continue for k times
T(n) = T(n-k) + k
Assume n-k= 0
n=k
T(n) = T(n-n) + n
T(n) = T(0) + n
T(n) = 1 + n
O(n)
Recurrence Relation
T(n) = T(n-1) + n
Recurrence Relation
void Test(int n)
{
if(n > 0) 1
{
for(i=0; i < n ; i++) n+1
{
printf(“%d”, n); n
}
Test(n-1) T(n-1)
}
}
T(n) = T(n-1) + 2n+2
Recurrence Relation
1 𝑛=0
T(n) =
T(n−1) + 𝑛 𝑛 > 0
T(n)
n T(n-1)
n-1 T(n-2)
n-2 T(n-3)
…
1 T(0)
Recurrence Relation
1 𝑛=0
T(n) =
T(n−1) + 𝑛 𝑛 > 0
T(n) n
n T(n-1) n-1
n-2 T(n-3) …
…
1 T(0)
Recurrence Relation
1 𝑛=0
T(n) =
T(n−1) + 𝑛 𝑛 > 0
T(n) n
n T(n-1) n-1
1 T(0)
Recurrence Relation
T(n) = T(n-1) + n
T(n) = T(n-2) + (n-1)+n
T(n) = T(n-3) + (n-2)+(n-1)+n
Assume (n-k)=0
n=k
T(n) = T(0) + 1 + 2 + 3 + …..+(n-1)+n
= 1 + n(n+1)/2
𝑶(𝒏𝟐 )
Recurrence Relation
T(n)
𝑙𝑜𝑔𝑛 T(n-1)
𝑙𝑜𝑔(𝑛 − 1) T(n-2)
𝑙𝑜𝑔(𝑛 − 2) T(n-3)
…
1 T(0)
1 𝑛=0
T(n) =
T(n−1) + 𝑙𝑜𝑔𝑛 𝑛 > 0
T(n)
logn T(n-1)
log(n-1) T(n-2)
log1+log2+……….log(n-1)+logn =log(n x n-1 x …x 2 x 1)
=logn! log(n-2) T(n-3)
𝑂(𝑛𝑙𝑜𝑔𝑛)
…
1 T(0)
1 𝑛=0
T(n) =
T(n−1) + 𝑙𝑜𝑔𝑛 𝑛 > 0
Putting 𝑛 − 𝑘 = 0
T(n) = 2T(n-1) + 1
Algorithm Test (int n)
{
if(n > 0)
{
printf(“%d”,n);
Test(n-1);
Test(n-1);
}
}
Recurrence Relation
T(n)=2T(n-1)+1
Recurrence Relation
1 𝑛=0
T(n) =
2T(n−1) + 1 𝑛 > 0
T(n)
1 T(n-1) T(n-1)
%.(!!"# − 1)
a=1, r=2 =
!(%
Assume n-k=0
O(2* )
Recurrence Relation
1 𝑛=0
T(n) =
2T(n−1) + 1 𝑛 > 0
By substitution,
Assume 𝑛 − 𝑘 = 0
T(n) = 2*$% – 1
O(2* )
Recurrence Relation for Root Function
void Test(int n) T(n)
{
if(n > 2)
{
stmt; 1
Test( 𝑛); T( 𝑛)
}
}
Recurrence Relation: T(n) = T( 𝑛) + 1
1 𝑛=2
T(n) =
T( 𝑛)+ 1 𝑛>2
T(n )= T( 𝑛) + 1
#
T(n) = T(𝑛 ) + 1
$
#
T(n) = T(𝑛 ) + 2
$$
#
T(n) = T(𝑛 ) + 3
$%
⋮
#
T(n) = T(𝑛 ) + k
$!
Assume n = 2+
&
T(2+ ) = T(2 ) + k
$!
&
Assume T(2 ) = T(2% )
$!
+
Therefore, !! = 1
𝑚 = 2# and k = log ! 𝑚
Since 𝑛 = 2+ , m = log ! 𝑛
k = log log ! 𝑛
𝜽(log 𝐥𝐨𝐠 𝟐 𝒏)