Faculty ofComputerScienceandEngineering
Department ofComputerScience
Released on 24/08/2012 20:06:39
1/4
DATA STRUCTURES & ALGORITHMS
Tutorial 1 Questions
COMPUTATIONAL COMPLEXITY
Required Questions
Question 1.
Reorder the following efficiencies from the smallest to the largest:
a. 2n
3
+ n
5
b. 2000
c. 4
n+1
d. n
4
e. (n-1)!
f. nlog
2
(n)
g. 2klog
k
(n) (k is a predefined constant)
Question 2.
Determine the big-O notation for the following:
a. 2n
6
b. 100n + 10.5n
2/3
+ 5.2n
5/7
c. 9log
2
(n)
d. 5n
10
+ 2logn
e. n! + k! (k is a predefined constant)
f. 100log
2
(n) + 5(n+2n)
Question 3.
Calculate the run-time efficiency of the following program segment:
1 i = n-1
2 loop (i >= n/2)
1 j = 1
2 loop (j < n/2)
1 print(i, j)
2 j = j + 2
3 end loop
4 i = i - 2
3 end loop
Question 4.
Calculate the run-time efficiency of the following program segment:
1 i = n
3
2 loop (i >= n/2)
1 j = 1
2 loop (j < n/2)
1 print(i, j)
2 j = j + 2
3 end loop
4 i = i / 2
3 end loop
b<g<f<d<a<c<e
O(n^6)
O(n)
O(log2(n))
O(n!)
O(n)
O(n^10)
O(n^2)
n/4*log2(n^3)
nlog2(n)
Faculty ofComputerScienceandEngineering
Department ofComputerScience
Released on 24/08/2012 20:06:39
2/4
Question 5.
If the algorithm doIt has an efficiency factor of 2n, calculate the run time efficiency of
the following program segment:
1 i = 1
2 loop (i <= n)
1 j = 1
2 loop (j < n)
1 k = 1
2 loop (k <= n)
1 doIt(…)
2 k = k *2
3 end loop
4 j = j + 1
3 end loop
4 i = i + 1
3 end loop
Question 6.
Given that the efficiency of an algorithm is 2
n
log
2
(n
4
), if a step in this algorithm takes 1
nanosecond (10
−9
), how long does it take the algorithm to process an input of size 1024?
Question 7.
Write a recurrence equation for the running time T(n) of g(n), and solve that recurrence.
Algorithm g (val n <integer>)
Pre n must be greater than 0
Return integer value of g corresponding to n
1 if (n = 1)
1 return 1
2 else
1 return g(n – 1)+ 1
End g
n^3*log2(n)
40*2^1024*10^-9
U
n
= U +1
U = 1
O(n)
n-1
1
Faculty ofComputerScienceandEngineering
Department ofComputerScience
Released on 24/08/2012 20:06:39
3/4
Advanced Questions
Question 8.
Prove that for any positive functions f and g, f(n) + g(n) and max(f(n), g(n)) are asymptotically
equivalent (i.e. they yield the same big-O notations).
Question 9.
Estimating the time complexity of the following program segment:
1 i = 0
2 loop (i < N)
1 j = i
2 loop (j < N)
1 k = 0
2 loop (k < M)
1 x = 0
2 loop (x < K)
1 print(i, j, k)
2 x = x + 3
3 end loop
4 k = k + 1
3 end loop
4 k = 0
5 loop (k < 2*K)
1 print(k)
2 k = k + 1
6 end loop
7 j = j + 1
3 end loop
4 i = i + 1
3 end loop
Question 10.
Calculate the run-time efficiency of the following program segment:
1 i = n
2 k = n/3
2 loop (i >= k)
1 j = n – 2*k
2 loop (j < i)
1 print(i, j)
2 j = j + 2
3 end loop
4 i = i - 1
3 end loop
Question 11.
Write a recurrence equation for the running time T(n) of f(n), and solve that recurrence.
Algorithm f (val n <integer>)
Pre n must be greater than 0
Return integer value of f corresponding to n
1 if (n <= 1)
1 return 1
2 else
Faculty ofComputerScienceandEngineering
Department ofComputerScience
Released on 24/08/2012 20:06:39
4/4
1 return f(n – 1) + f(n – 2)
End
Question 12.
Solve recurrence f(n) = 2f(√n) + log
2
n. (Hint : change variables, with m = 2
n
)
End
. value of g corresponding to n 1 if (n = 1) 1 return 1 2 else 1 return g(n – 1) + 1 End g n^3*log2(n) 40*2 ^10 24 *10 ^-9 U n = U +1 U = 1 O(n) n -1 1 Faculty of Computer Science and Engineering. Faculty of Computer Science and Engineering Department of Computer Science Released on 24/08/2 012 20:06:39 1/ 4 DATA STRUCTURES & ALGORITHMS Tutorial 1 Questions COMPUTATIONAL. 2 else Faculty of Computer Science and Engineering Department of Computer Science Released on 24/08/2 012 20:06:39 4/4 1 return f(n – 1) + f(n – 2) End Question 12 . Solve recurrence