2024: Design and Analysis of Algorithms

CS514: Design and Analysis of Algorithms (Spring 2024)

This course will provide a basic understanding of problem solving strategies using computers. The course will focus mostly on the theoretical side.


Class schedule

Monday — 1800-1900;    Tuesday — 1800-1900;    Thursday — 1800-1900;
Venue — R107;


Syllabus

This is a 3-0-0-6 (L-T-P-C) course.

Data structures: linked list, stack, queue, tree, balanced tree, graph; Complexity analysis: Big O, omega, theta notation, solving recurrence relation, master theorem
Sorting and searching: Quick sort, merge sort, heap sort; Sorting in linear time; Ordered statistics;
Problem solving strategies: recursion, dynamic programming, branch and bound, backtracking, greedy, divide conquer,
Graph algorithms: BFS, DFS, Shortest path, MST, Network flow;
NP-completeness Advanced topics: string matching, FFT-DFT, basics of approximation and randomized algorithms;


Books

  • Thomas H Cormen, Charles E Lieserson, Ronald L Rivest and Clifford Stein, Introduction to Algorithms, Third Edition, MIT Press/McGraw-Hill
  • Sanjoy Dasgupta, Christos H. Papadimitriou and Umesh V. Vazirani, Algorithms, Tata McGraw-Hill, 2008.
  • Steven Skiena, The Algorithm Design Manual, Springer
  • Jon Kleinberg and Éva Tardos, Algorithm Design, Pearson, 2005.
  • Robert Sedgewick and Kevin Wayne, Algorithms, fourth edition, Addison Wesley, 2011.
  • Udi Manber, Algorithms – A Creative Approach, Addison-Wesley, Reading, MA, 1989.
  • Jeff Erickson, Algorithms, link
  • Tim Roughgarden, Algorithms Illuminated


Slides

Topic Slides
Introduction pdf
Recursion pdf
Recursion: Sorting pdf
K-th Largest pdf
Backtracking pdf
Dynamic Programming pdf
Design of Algorithms pdf
Polynomial multiplication, FFT NA
Heap sort NA
Sorting in linear time NA
DFS, SCC NA
BFS, Shortest path NA
All pair shortest paths NA
MST NA
Network Flow pdf
Intractability pdf
Tutorial pdf



Last modified: 2024/04/24 11:54:32.