DAA Final Syllabus
DAA Final Syllabus
COURSE OBJECTIVES
COURSE OUTCOMES
Students who complete the course will have demonstrated the ability to do the following:
UNIT I
Introduction: What is an Algorithm, Algorithm Specification, Pseudocode Conventions Recursive
Algorithm, Performance Analysis, Space Complexity, Time Complexity, Amortized Complexity,
Asymptotic Notation, Practical Complexities, Performance Measurement.
UNIT II
Divide and Conquer: General Method, Defective Chessboard, Binary Search, Finding the
Maximum and Minimum, Merge Sort, Quick Sort, Performance Measurement, Randomized
Sorting Algorithms (Quick Sort).
UNIT III
The Greedy Method: The General Method, Knapsack Problem, Job Sequencing with Deadlines,
Minimum-cost Spanning Trees, Prim’s Algorithm, Kruskal’s Algorithms, An Optimal Randomized
Algorithm, Optimal Merge Patterns, Single Source Shortest Paths.
UNIT IV
Dynamic Programming: All - Pairs Shortest Paths, Single – Source Shortest paths General
Weights, String Editing, 0/1 Knapsack, Reliability Design.
UNIT V
Backtracking: The General Method, The 8-Queens Problem, Sum of Subsets, Graph Coloring,
Hamiltonian Cycles. Branch and Bound: The Method, Least cost (LC) Search, Control
Abstraction for LC-Search, Bounding, FIFO Branch-and-Bound, LC Branch and Bound, 0/1
Knapsack Problem, LC Branch-and Bound Solution, FIFO Branch-and-Bound Solution, Traveling
Salesperson.
TEXT BOOKS:
REFERENCE BOOKS
1. The Design and Analysis of Computer Algorithms, Alfred V. Aho, John E. Hopcroft, Jeffrey D.
Ullman
2. Algorithm Design, Jon Kleinberg, Pearson.