Syllabus
Syllabus
Course Objectives:
The main objectives of the course is to
provide knowledge on advance data structures frequently used in Computer
Science domain
Develop skills in algorithm design techniques popularly used
Understand the use of various data structures in the algorithm
design
UNIT I:
Introduction to Algorithm Analysis, Space and Time Complexity analysis, 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
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
UNIT V:
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
Textbooks:
1. Fundamentals of Data Structures in C++, Horowitz, Ellis; Sahni, Sartaj; Mehta, Dinesh
2nd Edition Universities Press
2. Computer Algorithms/C++ Ellis Horowitz, Sartaj Sahni, SanguthevarRajasekaran 2nd
Edition University Press
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