CS-504 Advanced Data Structures and Algorithms (3 0 0)
CS-504 Advanced Data Structures and Algorithms (3 0 0)
Course Contents
Elementary Data Structures and Complexity Analysis: Overview of Basic Data
Structures: Arrays, Linked List, Stack, Queues. Implementation of Sparse Matrices,
Algorithm Complexity: Average, Best and worst case analysis, asymptotic notations, Simple
Recurrence Relations and use in algorithm analysis
Search Structures: Binary search trees, AVL trees, 2-3 trees, 2-3-4 trees, Red-black trees,
Btrees.
Graph Algorithms: Representation of Graphs, Traversals, Single-source shortest path
Algorithms, All-pairs shortest path algorithms, Sub graphs, Disjoint Graphs, Connected
Components, Articulation Points, Spanning tree, Minimum Spanning Trees Algorithms,
Topological sort
String Matching Algorithms: Introduction, The Brute-Force- Algorithm, Rabin-Karp
Algorithm, String Matching with Finite automata, Knuth-Marries-Pratt Algorithm
Heap Structures: Min-max heaps, Deaps, Leftist heaps, Binomial heaps, Fibonacci heaps,
Skew heaps
Multimedia Structures: Segment trees, k-d trees, Point Quad trees, MX-Quad trees, R-trees.
Text / References:
1. E. Horowitz, S.Sahni and Dinesh Mehta, Fundamentals of Data structures in C++, Galgotia, 1999.
2. Adam Drozdex, Data Structures and algorithms in C++, Second Edition, Thomson learning
vikas publishing house, 2001.
3. G. Brassard and P. Bratley, Algorithmics: Theory and Practice, Printice –Hall, 1988.
4. Thomas H.Corman, Charles E.Leiserson, Ronald L. Rivest, ”Introduction to Algorithms”, PHI.
CS- 514 Advanced Data Structure and Algorithm Laboratory
[0 0 3]
Course Outcomes: After the completion of the course, the students will be able to
CO1: Implement various advance problems using data structures such as stacks, queues, trees, graphs, etc. to
solve various computing problems.
CO2: Understand how several fundamental algorithms work particularly those concerned with Stack, Queues,
Trees and various Sorting algorithms.
CO3: Design new algorithms or modify existing ones for new applications and able to analyse the space & time
efficiency of most algorithms.
CO4: Decide a suitable data structure and algorithm to solve a real-world problem.
Students are required to perform the following list of practicals: