Advanced Data Structures & Algorithm Analysis
Advanced Data Structures & Algorithm Analysis
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
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
UNIT – V:
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
1
VISHNU INSTITUTE OF TECHNOLOGY (AUTONOMOUS) : : BHIMAVARAM
Approved by AICTE, Accredited by NAAC-A++, NBA & Affiliated to JNTUK, Kakinada
Textbooks:
1. Fundamentals of Data Structures in C++, Horowitz, Ellis; Sahni, Sartaj; Mehta,
Dinesh, 2ndEdition Universities Press
2. Computer Algorithms in C++, Ellis Horowitz, SartajSahni,
nd
SanguthevarRajasekaran, 2 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