0% found this document useful (0 votes)
2 views

Document From ARYAN

The document is a question bank for the course UCS 2005: Analysis and Design of Algorithms, covering five units. Each unit contains a series of questions that explore various algorithmic concepts, including time complexity, divide and conquer strategies, greedy algorithms, dynamic programming, and backtracking techniques. The questions aim to assess understanding and application of these fundamental topics in algorithm design and analysis.

Uploaded by

noiidea0
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Document From ARYAN

The document is a question bank for the course UCS 2005: Analysis and Design of Algorithms, covering five units. Each unit contains a series of questions that explore various algorithmic concepts, including time complexity, divide and conquer strategies, greedy algorithms, dynamic programming, and backtracking techniques. The questions aim to assess understanding and application of these fundamental topics in algorithm design and analysis.

Uploaded by

noiidea0
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Question Bank

Course Code : UCS 2005

Course Name: Analysis and Design of Algorithms

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.

3. Discuss Big-O, Big-Theta, and Big-Omega notations with graphical illustrations.

4. Differentiate between polynomial and exponential time complexities with examples.

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.

9. Write and explain the performance measurements for algorithms.

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?

2. Derive the recurrence relation and time complexity of Merge Sort.

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).

6. Compare and contrast Merge Sort and Quick Sort.

7. Explain the Selection Problem using the Median of Medians approach.

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.

10. Discuss advantages and limitations of divide and conquer technique.

Unit 3
1. Explain the greedy strategy with its general approach.

2. Solve the fractional knapsack problem using the greedy method.

3. Solve the job sequencing with deadlines problem and explain each step.

4. Construct a Huffman tree for a given set of characters and frequencies.

5. Compare greedy and dynamic programming approaches using the knapsack problem.

6. Design an algorithm for optimal merge patterns and explain its complexity.

7. Construct a minimum cost spanning tree using Prim's algorithm.

8. Construct a minimum cost spanning tree using Kruskal's algorithm.

9. Explain Dijkstra’s algorithm for single-source shortest path with an example.

10. Discuss why greedy algorithms do not always yield optimal solutions.

Unit 4
1. Explain the principle of optimality in dynamic programming.

2. Solve the 0/1 knapsack problem using dynamic programming.

3. Discuss the concept of memoization with a recursive example.

4. Solve the All-pairs Shortest Path problem using Floyd-Warshall algorithm.

5. Solve a multistage graph problem using dynamic programming.

6. Write the recurrence relation and solve the Traveling Salesman Problem using DP.

7. Differentiate between dynamic programming and divide and conquer approaches.

8. Discuss the time and space complexity of the 0/1 Knapsack DP solution.

9. Show how overlapping subproblems and optimal substructure apply in TSP.

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.

3. Find all Hamiltonian cycles in a given graph using backtracking.

4. Discuss the subset sum problem and solve it using backtracking.

5. Solve the Travelling Salesman Problem using branch and bound approach.

6. Write and explain the graph coloring problem using backtracking.

7. Differentiate between backtracking and branch and bound techniques.

8. Define NP, NP-Complete, and NP-Hard with examples.

9. Differentiate between NP-hard and NP-complete.

10. Discuss the significance of the P vs NP problem in computational theory.

You might also like