CS 341 Algorithms

General Information

This course studies the major algorithmic design paradigms and mathematical tools for analyzing the running times of algorithms and detecting computational problems for which no efficient deterministic algorithm. Topics include: basics of analysis of algorithms; general algorithmic paradigms:

  1. divide and conquer
  2. greedy
  3. dynamic programming
  4. graph algorithms
  5. reductions
  6. undecidability

For full syllabus see https://student.cs.uwaterloo.ca/~cs341/