Document From ARYAN
Document From ARYAN
Unit 1
1. Define and explain the concept of an algorithm with a suitable example.
2. What is time complexity? Explain best, worst, and average case complexities.
5. Explain the substitution method for solving recurrence relations with an example.
6. Solve the recurrence relation: T(n) = T(n/2) + 1 using the recursive tree method.
7. Solve T(n) = 2T(n/2) + n using Master’s Theorem and state the case used.
8. Compare asymptotic notations: O(n), O(n log n), O(n²) with examples.
10. Derive the time complexity for a linear search algorithm and analyze its growth.
Unit 2
1. Explain the divide and conquer strategy. How is it applied in Binary Search?
3. Describe the working of Quick Sort and explain its worst-case complexity.
4. Write a divide and conquer algorithm to find the maximum and minimum of an array.
5. Discuss the divide and conquer approach for exponentiation (Power of an element).
8. Describe the Strassen’s Matrix Multiplication method and its time complexity.
9. Solve a recurrence relation of Quick Sort and analyze its average-case performance.
Unit 3
1. Explain the greedy strategy with its general approach.
3. Solve the job sequencing with deadlines problem and explain each step.
5. Compare greedy and dynamic programming approaches using the knapsack problem.
6. Design an algorithm for optimal merge patterns and explain its complexity.
10. Discuss why greedy algorithms do not always yield optimal solutions.
Unit 4
1. Explain the principle of optimality in dynamic programming.
6. Write the recurrence relation and solve the Traveling Salesman Problem using DP.
8. Discuss the time and space complexity of the 0/1 Knapsack DP solution.
10. Solve a Longest Common Subsequence (LCS) problem using dynamic programming.
Unit 5
1. Explain the backtracking technique with a generic recursive algorithm.
2. Solve the 8-Queens problem using backtracking and represent the solution steps.
5. Solve the Travelling Salesman Problem using branch and bound approach.