Give example of an algorithm that has 2n running time Big Th
Give example of an algorithm that has (2^n) running time. Big Theta (2^n) NOT Big Oh. Use recursive approach. State expected input, expected output, and detailed time performance analysis. (recurrence relation)
Solution
If n is given as an input, the algorithm outputs all the possible binary numbers of size n.
a is an array of size n. n is the size of the array, curr is an integer.
binary(a,n,curr)
{
if(curr==n)
{
print(a) --> prints the
return
}
a[curr]=0;
binary(a,n,curr+1);
a[curr]=1;
binary(a,n,curr+1);
return;
}
Initially the function is called with curr = 0;
T(n) = 2*T(n-1) + c
