CSL 356: Analysis and Design of AlgorithmsSemester II 2008-2009Instructor: Huzur Saran |
Prerequisites: CSL201 (Data Structures) Recommended : CSL105 (Discrete Structures)
Contents. RAM model and complexity; O(log n) bit model, integer
sorting and string sorting. Review of fundamental data structures; Red-black
trees, mergeable heaps, interval trees. Fundamental design methodologies and
their implementations; Search Techniques, Dynamic Programming, Greedy
algorithms, Divide-and-Conquer, Randomised techniques. Algorithms for set
manipulations, their implementations and applications; Union-Find Randomized
data structures; Skip lists, Universal Hash functions, Graph Algorithms with
implementation issues; Depth-First Search and its applications, minimum
Spanning Trees and Shortest Paths. Convex hulls, sorting, Selection Matrix
multiplication, pattern matching, integer and polynomial arithmetic, FFT,
introduction to the theory of lower bounds, NP-Completeness and Reductions.
Approximation algorithms.
For any feedback/corrections regarding notes please send email to me with subject CSL356
Algorithms by Sanjoy Dasgupta, Christos Papadimitriou and Umesh Vazirani, McGraw-Hill.
Introduction to Algorithms by Cormen, Leiserson, Rivest, and Stein, Prentice Hall.