ADS Syllabus
ADS Syllabus
CO2 2 2 2
CO3 2 2 2
CO4 2 1 1
COURSE CONTENT
UNIT – I
Introduction: Algorithms, algorithms as a technology, recursive and randomized
algorithms, growth of functions (Asymptotic notations)
AVL Trees – Creation, Insertion, Deletion operations and Applications
B-Trees – Creation, Insertion, Deletion operations and Applications
UNIT – II
Heap Trees (Priority Queues) – Min and Max Heaps, Operations and
Applications
Graphs – Terminology, Representations, Basic Search and Traversals, Connected
Components and Biconnected Components, applications
Divide and Conquer: The General Method, Quick Sort, Merge Sort, Strassen’s
matrix multiplication, Convex Hull
UNIT - III
Greedy Method: General Method, Job Sequencing with deadlines, Knapsack
Problem, Minimum cost spanning trees, Single Source Shortest Paths
Dynamic Programming: General Method, All pairs shortest paths, Single Source
Shortest Paths – General Weights (Bellman Ford Algorithm), Optimal Binary
Search Trees, 0/1 Knapsack, String Editing, Travelling Salesperson problem
UNIT - IV
Backtracking: General Method, 8-Queens Problem, Sum of Subsets problem,
Graph Coloring, 0/1 Knapsack Problem
Branch and Bound: The General Method, 0/1 Knapsack Problem, Travelling
Salesperson problem
NP Hard and NP Complete Problems: Basic Concepts, Cook’s theorem
NP Hard Graph Problems: Clique Decision Problem (CDP), Chromatic Number
Decision Problem (CNDP), Traveling Salesperson Decision Problem (TSP)
NP Hard Scheduling Problems: Scheduling Identical Processors, Job Shop
Scheduling
TEXT BOOKS
[1] Fundamentals of Data Structures in C++, Horowitz, Ellis; Sahni, Sartaj; Mehta,
Dinesh 2nd Edition Universities Press [Unit I,II]
[2] Computer Algorithms/C++ Ellis Horowitz, Sartaj Sahni, Sanguthevar
Rajasekaran 2nd Edition University Press[Unit II,III,IV]
REFERENCE BOOKS
[1] Data Structures and program design in C, Robert Kruse, Pearson Education Asia
[2]An introduction to Data Structures with applications, Trembley & Sorenson,
McGraw Hill
[3] The Art of Computer Programming, Vol.1: Fundamental Algorithms, Donald E
Knuth, Addison-Wesley, 1997.
[4] Data Structures using C & C++: Langsam, Augenstein & Tanenbaum, Pearson,
1995
[5] Algorithms + Data Structures & Programs:, N.Wirth, PHI
[6] Fundamentals of Data Structures in C++: Horowitz Sahni & Mehta, Galgottia
Pub.
[7] Data structures in Java:, Thomas Standish, Pearson Education Asia
E-RESOURCES AND OTHER DIGITAL MATERIAL
[1] N. Garg, IIT Delhi, Dec 31, 2009, Data Structures and Algorithms, NPTEL,
Available:
http://nptel.ac.in/courses/106102064/25.
[2] A. G. Ranade, S. Viswanathan, and A. A. Diwan, IIT Bombay, Dec 31, 2009,
Design and Analysis of Algorithms, NPTEL, Available:
https://nptel.ac.in/courses/106/101/106101060/(last accessed on 12-12-2022)
[3] E. Demaine, S. Devadas, and N. Lynch, MIT, Design and Analysis of
Algorithms, MIT OpenCourseWare, Available: (last accessed on 12-12-2022)
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-
design-and-analysis-of-algorithms-spring-2015/(last accessed on 12-12-2022)
[4] Timroughgarden.org.Tim Roughgarden's Online Courses. Available :
http://timroughgarden.-org/videos.html.(last accessed on 12-12-2022)
[5] https://www.tutorialspoint.com/advanced_data_structures/index.asp
[6] http://peterindia.net/Algorithms.html
[7] Abdul Bari, 1. Introduction to Algorithms (youtube.com)