You are on page 1of 2

Design and Analysis of Algorithms Assignment 1 Submission Date: 29/3/2012 (3:00 pm)

Q1. What are the elements of Dynamic Programming? Write the algorithm for Matrix Chain Multiplication. Q2. What are approximation algorithms? What type of problems is solved using approximation algorithms? Give an example. Q3. Solve the following recursions: a. T(n) = T( b. T(n) = 2T( ) +1. ) + 15.

Q4. Use Recurssion tree method to solve the following: T(n) = T( ) + cn.

Q5. Define Fast Fourier Transforms. Write an algorithm for FFT. Q6. Explain the Branch and Bound technique with the help of an example. Compare the branch and bound technique to Dynamic programming and greedy algorithms. Q7. (i) If f(n) and g(n) are asymptotically positive functions, then prove or disprove the following: a. f(n) = O(g(n)) implies g(n) = O(f(n)). b. f(n) + g(n) = (min(f(n), g(n)). (ii) Show that if f (n) and g(n) are monotonically increasing functions, then so are the functions f (n) + g(n) and f (g(n)), and if f (n) and g(n) are in addition nonnegative, then f (n) g(n) is monotonically increasing. Q8. Write the Rabin Karps algorithm for string matching. Q9. Solve the following 0/1 Knapsack problem using dynamic programming P = ( 1 1 , 2 1 , 3 1 , 3 3 ) , W = ( 2 , 1 1 , 2 2 , 1 5 ) , C = 4 0 , n = 4 .

Q10. Write down the algorithm for Strassens Matrix Multiplication.

You might also like