Analysis and Design of Algorithms Theory Assignment 3150703 Assignment - 1 CO 1 Introduction # Question 1 Define Algorithms. Discuss the key characteristics of the algorithm. Set 1 BT 2 R 2 Find Omega (Ω) notation of function f(n)=2n + 6 n * lg n + 6n. A 3 What is an amortized analysis? Explain the aggregate method of amortized analysis using a suitable example. Find the big theta and big omega notation of f(n) = 14*7 + 83 U 4 CO 1 Sorting Algorithms E Set 1 # Question BT 1 Compare Bubble sort, Selection Sort, and Insertion Sort with respect to their time analysis. N 2 Sort following with the Bucket Sort Method. E : 329, 457, 657, 839, 436, 720, 355 Assignment - 2 CO 2 Recurrence Set 1 # Question BT 1 Prove or disprove that f(n) = 1 + 2 + 3 + .... + n ∈ Θ(n^2). E 2 Solve following recurrence using master method - T(n) = T(2n/3) + 1 E CO 2 # Question Divide and Conquer Set 1 BT BT Level R: Remembrance; U: Understanding; A: Application, N: Analyze, E: Evaluate and C: Create (Revised Bloom’s Taxonomy) Analysis and Design of Algorithms 1 2 3 Theory Assignment 3150703 Explain how the multiplication of large integers can be done efficiently by using the divide and conquer technique? Explain Strassen's algorithm for matrix multiplication. U Write an algorithm which finds the maximum number from a given array of numbers using divide and conquer strategy. Explain the same with proper illustration U U Assignment - 3 CO 3 Dynamic Programming Set 1 # Question BT 1 Define: Principle of Optimality. Optimal Substructure property R 2 Describe an assembly line scheduling problem and give a dynamic programming algorithm to solve it. Generate equation for Matrix chain multiplication using Dynamic programming. Find out a minimum number of multiplications required for multiplying: - A [1 × 5], B [5 × 4], C [4 × 3], D [3 × 2], and E [2 × 1]. What are the advantages of dynamic programming methods over divide-&-conquer methods? U 3 4 CO 3 Greedy Algorithms E N Set 1 # Question BT 1 Define: Optimal Solution, Feasible solution. R 2 Give and Explain the Prim’s Algorithm to find out Minimum Spanning Tree with an illustration. Give its time complexity. Using the greedy algorithm find an optimal schedule for following jobs with n=7 - Profits: (P1,P2,P3,P4,P5,P6,P7) = (3, 5, 18, 20, 6, 1, 38) and - Deadline (d1,d2,d3,d4,d5,d6,d7) = (1, 3, 3, 4, 1, 2, 1) U/N 3 CO 3 Backtracking and Branch and Bound E Set 1 # Questions BT 1 Explain the Branch and Bound Technique in brief. U BT Level R: Remembrance; U: Understanding; A: Application, N: Analyze, E: Evaluate and C: Create (Revised Bloom’s Taxonomy) Analysis and Design of Algorithms Theory Assignment 3150703 Assignment - 4 CO 4 String Matching Set 1 # Questions BT 1 Explain with an example: The naïve string matching algorithm. Also, give its time complexity. U 2 Explain spurious hits in the Rabin-Karp string matching algorithm with an example. Working modulo q=13, how many spurious hits does the Rabin-Karp matcher encounter in the text T = 2359023141526739921 when looking for the pattern P = 31415? E Assignment - 5 CO 5 P-NP Theory Set 1 # Questions BT 1 Define P, NP, NP-complete and NP-Hard problems. R 2 Explain polynomial reduction. U Assignment - 6 CO 6 Graph Algorithms Set 1 # Questions BT 1 Define: Directed Acyclic Graph, Dense graph, Sparse graph, Preconditioning, Articulation Point, Graph, Tree, Complete graph, Connected Graph Explain in brief Breadth-First Search and Depth First Search Traversal techniques of a Graph. R Write an algorithm to find out the articulation points of an undirected graph. Find out articulation points for the following graph. Consider vertex A as the starting point. E 2 3 R/U BT Level R: Remembrance; U: Understanding; A: Application, N: Analyze, E: Evaluate and C: Create (Revised Bloom’s Taxonomy) Analysis and Design of Algorithms Theory Assignment 3150703 BT Level R: Remembrance; U: Understanding; A: Application, N: Analyze, E: Evaluate and C: Create (Revised Bloom’s Taxonomy)