CS514
CS514
CS514
1. Preamble
The proposed elective course, building on top of the course on Data Structures and Algorithms
(CS202), offers formal introduction to various common algorithm design techniques, methods
for analyzing the performance of corresponding algorithms and improving their efficiency, and to
provide performance guarantees.
The theoretical aspects of this course are going to be supplemented by comprehensive practice
exercises and weekly programming labs worth one lab credit.
2. Course modules
1. Review of Data Structures from CS202: Asymptotic Notations, Solving recurrences, Insertion
Sort, Merge Sort, QuickSort (3 H)
2. Advanced topics in Sorting and Searching:- Randomized Data Structures Treaps, Hashing, AVL
Trees, Bucket Sort. (6 H)
3. Dynamic Programming (3 H)
4. Amortized analysis: aggregate analysis, accounting, potential method (3 H)
5. Graph Algorithms: Single-Source Shortest Paths Bellman Ford, All-Pairs Shortest Paths using
Floyd Warshall, Maximum Flow (Ford Fulkerson) (6 H)
6. Advanced Data Structures: Quake heaps, van Emde BoasTrees, Union Find Data structures (6 H)
7. Computational complexity: Problem classes: P, NP, NP-complete, NP-hard. Reduction. Cook’s
theorem. Examples of NP-complete problems. (6 H)
8. Approximation Algorithms:- Greedy and Local Search algorithms, DP Algorithms (3 H)
9. Parameterized Complexity:- Introduction to FPT, Bounded Search Trees, Kernels
10. Additional Topics:-
Streaming Algorithms:- Misra Gries, Count–min sketch, LSH, lossy count algorithm (3 H)
Comp. Geometry:- Convex Hull, Line segment intersection, Voronoi Diagrams (3 H)
11. Coding Lab which covers topics discussed in this course (28H)
3. Textbook
4. Reference books
This course is proposed as a core course for MTech (CSE) and BTech students shall also be
allowed to credit the same. The overwhelming overlap of contents (with CS403) is deliberate
because we intend to discontinue offering CS403 starting from the winter session of 2021.
Some parts of CS403 have either been covered in CS202 or are not relevant to the currently
trending research areas. We compensate for these topics by adding new topics which we feel
are best suited for the students and this upgrade in coursework also makes this course suitable
for M.S., M.Tech and Ph.D. candidates.