0% found this document useful (0 votes)
18 views5 pages

DAA QB BANK

The document outlines the curriculum for a course on Design and Analysis of Algorithms, covering various units including algorithm introduction, brute force and greedy algorithms, dynamic programming, iterative improvement, and NP-completeness. It includes two-mark and sixteen-mark questions for each unit that assess understanding of key concepts, definitions, and problem-solving techniques related to algorithms. The content is structured to facilitate learning and evaluation of algorithmic principles and methodologies.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views5 pages

DAA QB BANK

The document outlines the curriculum for a course on Design and Analysis of Algorithms, covering various units including algorithm introduction, brute force and greedy algorithms, dynamic programming, iterative improvement, and NP-completeness. It includes two-mark and sixteen-mark questions for each unit that assess understanding of key concepts, definitions, and problem-solving techniques related to algorithms. The content is structured to facilitate learning and evaluation of algorithmic principles and methodologies.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

AD3351 -DESIGN AND ANALYSIS OF ALGORITHMS

Unit 1: Introduction to Algorithms and Analysis

Two-Mark Questions:

1. Define an algorithm.
2. What is the purpose of algorithm analysis?
3. List the steps in the divide-and-conquer approach.
4. Define asymptotic notation.
5. What is the difference between Big-O, Omega, and Theta notations?
6. Explain the best-case and worst-case complexity of an algorithm.
7. Define average-case complexity.
8. State the time complexity of merge sort.
9. What is a recurrence relation?
10. Write the recurrence relation for binary search.
11. Explain the concept of recursion in algorithms.
12. What is the time complexity of Quick Sort in the worst case?
13. Define tail recursion.
14. Write the general form of Master’s theorem.
15. What is the significance of asymptotic notations?
16. How do you compare two algorithms using complexity?
17. Define space complexity and its importance.
18. What is the purpose of the divide-and-conquer technique?
19. Write the base case for a recursive function.
20. What is meant by input size in complexity analysis?
21. State one advantage of iterative algorithms over recursive ones.
22. What is the importance of algorithm correctness?
23. How is Big-O notation represented graphically?
24. Define the height of a recursion tree.
25. Explain the relationship between recursion and divide-and-conquer.
26. What is the importance of a base case in recursion?
27. State one disadvantage of recursive algorithms.
28. List two real-world applications of divide-and-conquer.
29. How does binary search differ from linear search?
30. Define exponential time complexity.

16 Mark Questions:

1. Explain the time and space complexity of algorithms with examples.


2. Discuss different asymptotic notations and their importance in algorithm analysis.
3. Derive the time complexity for merge sort using a recurrence relation.
4. Solve a recurrence relation using the Master’s theorem.
5. Discuss the divide-and-conquer paradigm with suitable examples.
Unit 2: Brute Force and Greedy Algorithms
Two-Mark Questions:

1. Define the brute force method.


2. Give an example of a brute force algorithm.
3. What is the greedy method?
4. Define the principle of optimality.
5. State the time complexity of Kruskal’s algorithm.
6. Define the minimum spanning tree (MST).
7. Write the steps of Prim’s algorithm.
8. What is the fractional knapsack problem?
9. Differentiate between fractional and 0/1 knapsack problems.
10. Explain the activity selection problem.
11. State the time complexity of Dijkstra’s algorithm.
12. What is the greedy choice property?
13. Define the single-source shortest path problem.
14. What is the difference between BFS and Dijkstra’s algorithm?
15. How does Kruskal’s algorithm find an MST?
16. What are the inputs for the Huffman coding algorithm?
17. Define a connected graph.
18. What is the output of Prim’s algorithm?
19. State the time complexity of the Huffman coding algorithm.
20. How is a greedy algorithm different from dynamic programming?
21. What are overlapping subproblems in the context of algorithms?
22. Define a spanning tree.
23. What is a feasible solution in a greedy algorithm?
24. State one advantage of the greedy approach.
25. Why doesn’t the greedy method work for all problems?
26. How does the brute force approach solve TSP?
27. State the use of heaps in Prim’s algorithm.
28. Define connected components of a graph.
29. What is the purpose of sorting in Kruskal’s algorithm?
30. List two applications of greedy algorithms.

16 Mark Questions:

1. Explain the greedy algorithm with examples like fractional knapsack or activity selection problem.
2. Discuss Kruskal’s and Prim’s algorithms for finding a minimum spanning tree.
3. Solve the single-source shortest path problem using Dijkstra’s algorithm.
4. Describe how TSP can be solved using brute force.
5. Compare the brute force and greedy approaches in solving problems.
Unit 3: Dynamic Programming and Backtracking
Two-Mark Questions:

1. What is dynamic programming?


2. How is dynamic programming different from divide-and-conquer?
3. Define overlapping subproblems.
4. Write the recurrence relation for the Fibonacci sequence.
5. Define the 0/1 knapsack problem.
6. State the principle of optimality.
7. What is the longest common subsequence problem?
8. State Bellman-Ford’s algorithm.
9. What is the Floyd-Warshall algorithm?
10. Define backtracking.
11. What is a feasible solution in backtracking?
12. Define branch-and-bound.
13. What is the difference between backtracking and branch-and-bound?
14. Write the time complexity of the Bellman-Ford algorithm.
15. State the purpose of the N-Queens problem.
16. What is the subset-sum problem?
17. Define the traveling salesman problem (TSP).
18. What is the difference between a local and a global solution?
19. How does backtracking solve the N-Queens problem?
20. Write the recurrence relation for the matrix chain multiplication problem.
21. Define a decision tree in backtracking.
22. What is a dead-end in backtracking?
23. State one application of dynamic programming.
24. Explain how branch-and-bound solves the TSP.
25. What is the importance of dynamic programming in optimization problems?
26. Define the Hamiltonian cycle problem.
27. How does dynamic programming handle overlapping subproblems?
28. State the time complexity of the Floyd-Warshall algorithm.

16 Mark Questions:

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


2. Explain Bellman-Ford’s algorithm for single-source shortest path problems.
3. Solve the traveling salesman problem using branch-and-bound.
4. Explain how backtracking is used to solve the N-Queens problem.
5. Differentiate between backtracking and branch-and-bound techniques.
Unit 4: Iterative Improvement and Matching Problems
Two-Mark Questions:

1. What is iterative improvement?


2. Define a stable matching.
3. What is the stable marriage problem?
4. State Hall’s Marriage Theorem.
5. What is an augmenting path?
6. Define maximum matching in bipartite graphs.
7. Write the time complexity of the Gale-Shapley algorithm.
8. Define local optima in optimization problems.
9. Differentiate between local and global optima.
10. State the Hopcroft-Karp algorithm.
11. What is a blocking pair in stable matching?
12. Define a vertex cover in bipartite graphs.
13. What is an alternating path?
14. What is the role of constraints in iterative improvement?
15. State the purpose of the Gale-Shapley algorithm.
16. What is the time complexity of the Hopcroft-Karp algorithm?
17. Define a free vertex in bipartite graphs.
18. State one real-world application of the stable marriage problem.
19. Explain the concept of hill climbing.
20. Define simulated annealing.
21. What is a feasible region in optimization problems?
22. Define gradient descent.
23. How does iterative improvement handle local optima?
24. State the role of randomness in simulated annealing.
25. Write one disadvantage of hill climbing.
26. What is a matching in graphs?
27. State the difference between perfect and maximum matching.
28. Define plateau in optimization problems.
29. State one advantage of the Gale-Shapley algorithm.

16 Mark Questions:

1. Explain the stable marriage problem and derive a solution using the Gale-Shapley algorithm.
2. Discuss the Hopcroft-Karp algorithm for maximum matching in bipartite graphs.
3. Solve a maximum flow problem using the Ford-Fulkerson method.
4. Explain how constraints are handled in optimization problems.
5. Explain in detail about simple method.
Unit 5: NP-Completeness and Approximation Algorithms
Two-Mark Questions:

1. Define P, NP, and NP-complete problems.


2. What is the significance of NP-completeness?
3. State Cook’s theorem.
4. What is a polynomial-time reduction?
5. Define NP-hard problems.
6. Differentiate between exact and approximate algorithms.
7. What is an approximation algorithm?
8. Define the vertex cover problem.
9. Write the time complexity of the vertex cover approximation algorithm.
10. What is a greedy approximation algorithm?
11. Define the traveling salesman problem (TSP).
12. What is the subset-sum problem?
13. Explain why the TSP is NP-hard.
14. State the purpose of approximation algorithms.
15. What is the difference between P and NP problems?
16. Define the Hamiltonian path problem.
17. State one example of an NP-complete problem.
18. What is a pseudo-polynomial algorithm?
19. Define the clique problem.
20. What is a decision problem?
21. State one limitation of approximation algorithms.
22. Define the chromatic number of a graph.
23. What is the time complexity of solving SAT problems?
24. Explain the significance of polynomial-time reductions.
25. Define an independent set in graphs.
26. State one advantage of using approximation algorithms.
27. Define the knapsack approximation problem.
28. Explain the tradeoff between time and accuracy in approximation algorithms.

16 Mark Questions:

1. Explain the concept of NP-completeness with examples.


2. Explain approximation algorithms with examples such as the vertex cover or TSP.
3. Compare P, NP, NP-hard, and NP-complete classes with a diagram.
4. Discuss the significance and challenges of NP-complete problems.

You might also like