ASSIGNMENT 1 - Basic Concepts of Analysis and Design of Algorithms

Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

Design and Analysis of Algorithm

ASSIGNMENT 1 – Basic Concepts of Analysis and Design of Algorithms

1. Define the term algorithm and state the criteria the algorithm should satisfy.
2. Describe the role of space complexity and time complexity of a program?
3. Define analysis of an algorithm. State the reason why analysis is required?
4. Describe efficiency of an algorithm.
5. Explain Asymptotic Notations Big Oh, Omega and Theta.
6. Arrange the given notations in the increasing order of their values
a. Log n, n2, n log n, n, 2n, n3, n!
b. n, n log n, 2n, log n, √n, en, n2+log n, n2 , log log n
7. Express following functions in terms of O notation
a. 𝑛3/1000 − 100𝑛2 − 100𝑛 + 3
b. 20𝑛3 + 10𝑛 log⁡𝑛 + 5
c. 5𝑛 log⁡𝑛 + 2𝑛
8. Write time complexity of following algorithmic statements in terms of O (Big Oh) notation
With Justification.
a. Algorithm

//Input: int A[n], array of n integers


//Output: Sum of all numbers in array A
int Sum(int A[], int n)
{
int s=0;
for (int i=0; i<n; i++)
s = s + A[i];
return s;
}

b. 𝑠𝑢𝑚 = 𝑎 + 𝑏
c. 𝑓𝑜𝑟 𝑖=1 𝑡𝑜 𝑛 𝑑𝑜
𝑠𝑢𝑚=𝑎+𝑏;
d. 𝑓𝑜𝑟 𝑖=1 𝑡𝑜 𝑛 𝑑𝑜
𝑓𝑜𝑟 𝑗 = 1 𝑡𝑜 𝑛 𝑑𝑜
𝑠𝑢𝑚=𝑎+𝑏;
e. 𝑙 = 0
𝑓𝑜𝑟 𝑖 = 1 𝑡𝑜 𝑛 𝑑𝑜
𝑓𝑜𝑟 𝑗 = 1 𝑡𝑜 𝑖 𝑑𝑜
𝑓𝑜𝑟 𝑘 = 𝑗 𝑡𝑜 𝑛 𝑑𝑜
𝑙=𝑙+1
f. 𝑙 =1
𝑤ℎ𝑖𝑙𝑒(𝑙≤𝑛)
𝑃𝑟𝑖𝑛𝑡 𝑙
𝑙=𝑙∗2
g. 𝑓𝑜𝑟 𝑗 = 1 𝑡𝑜 𝑛 𝑑𝑜
𝑓𝑜𝑟 𝑘 = 1 𝑡𝑜 𝑗 𝑑𝑜
𝑠𝑢𝑚 = 𝑠𝑢𝑚 + 𝑗∗𝑘
𝑓𝑜𝑟 𝑙 =1 𝑡𝑜 𝑛 𝑑𝑜
𝑠𝑢𝑚=𝑠𝑢𝑚− 𝑙 + 1
printf(“sum is now %d”,𝒔𝒖𝒎)
h. 𝑖=1
sum = 0
while (𝑖 ≤ 𝑛){
𝑗=1
While (𝑗 ≤ 𝑛){
sum = sum + 1
𝑗=𝑗+1}
𝑖=𝑖+1}
i. void method(int [] arr)
{
for(int i = 0; i <arr.length; i++)
{
for(int k = arr.length - 1; k > 0; k = k / 3 )
{
SOP (arr[i]);
}
}
}
j. A()
{
while(n>1)
{
n=n/2;
}
}
k. A()
{
I,j,k,n
for(i=n/2;i<=n;i++)
{
for(j=1;j<=n;j=j*2)
{
for(k=1;k<=n;k=k*2)
{
print(“ABC”);
}
}
}
}
l. A()
{
I,j,k,n
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j=i+j)
{
print(“ABC”);
}
}
}

9. Explain working of two methods, back substitution and recursive tree method, to find time
complexity of recursive algorithm.
10. Write time complexity of following Recurrence equation in terms of O (Big Oh) notation
using back substitution and recursive tree method.
a. T(n) = 1 + T(n-1) , n>1
= 1, n=1
b. T(n) = n + T(n-1) , n>1
= 1, n=1
c. Assume n=2k
T(n) = 2T(n/2) + c , n>1
= c, n=1

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy