L T P C
III Year - I Semester
3 0 0 3
DESIGN AND ANALYSIS OF ALGORITHMS
COURSE OBJECTIVES
● Upon completion of this course, students will be able to do the following:
● Analyze the asymptotic performance of algorithms.
● Write rigorous correctness proofs for algorithms.
● Demonstrate a familiarity with major algorithms and data structures.
● Apply important algorithmic design paradigms and methods of analysis.
● Synthesize efficient algorithms in common engineering design situations.
COURSE OUTCOMES
Students who complete the course will have demonstrated the ability to do the following:
● Argue the correctness of algorithms using inductive proofs and invariants.
● Analyze worst-case running times of algorithms using asymptotic analysis.
● Describe the divide-and-conquer paradigm and explain when an algorithmic design situation
calls for it.
● Describe the dynamic-programming paradigm and explain when an algorithmic design
situation calls for it.
● Describe the greedy paradigm and explain when an algorithmic design situation calls for it.
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:
1. Fundamentals of computer algorithms E. Horowitz S. Sahni, University Press
2. Introduction to Algorithms Thomas H. Cormen, PHI Learning
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.