Define Algorithm.
Design and Analysis of Algorithms
22 questions
What is Time Complexity?
Define Asymptotic Notation.
What is a Greedy Algorithm?
Define Dynamic Programming.
What is the Divide and Conquer technique?
Define NP-Hard.
What is Backtracking?
Define Minimum Spanning Tree.
What is the Knapsack Problem?
Explain the different asymptotic notations (Big-O, Omega, Theta) with examples.
Describe the Binary Search algorithm and analyze its time complexity.
Explain the Merge Sort algorithm with an example and analyze its time complexity.
Discuss Kruskal's Algorithm for finding Minimum Spanning Tree.
Explain the concept of Dynamic Programming with the Fibonacci example.
Describe the N-Queens problem using Backtracking.
Explain the concept of P and NP complexity classes.
(a) Explain the methods of solving recurrence relations: Substitution Method, Recursion Tree Method, and Master Theorem.
(b) Solve T(n) = 2T(n/2) + n using the Master Theorem.
(a) Explain the Quick Sort algorithm in detail with a suitable example.
(b) Analyze the best case, average case, and worst case time complexity of Quick Sort.
(a) Explain Dijkstra's Algorithm for Single Source Shortest Path with a suitable example.
(b) Explain the Bellman-Ford Algorithm and compare it with Dijkstra's Algorithm.
Explain the 0/1 Knapsack problem using Dynamic Programming with a suitable example. Also explain the Matrix Chain Multiplication problem using Dynamic Programming.
(a) Explain the concept of NP-Completeness.
(b) Discuss Cook's Theorem and its significance.
(c) Explain the Travelling Salesman Problem (TSP) and its complexity.