CSC252 Algorithms
Fall 2020
Ileana Streinu



Class page
Moodle

252 Algorithms

Textbook: Cormen, Leiserson, Rivest and Stein Introduction to Algorithms, 3rd edition. From amazon.
Syllabus

  • Algorithmic problems:
    • Sorting and searching
    • Graph algorithms:
      • Graph traversal (DFS, BFS) and applications
      • Connectivity, strong connectivity, bi-connectivity
      • Minimum spanning tree
      • Shortest path
      • Matchings
      • Network flow
    • Hard problems:
      • Traveling salesman problem
      • Longest path, Hamilton cycle
      • Boolean circuit satisfiability
      • Clique
      • Vertex cover
  • Algorithm design:
    • Divide-and-conquer
    • Graph traversal
    • Greedy
    • Dynamic Programming
    • Reductions
    • Use of advanced data structures
  • Algorithm correctness:
    • Proofs and proof techniques (assumptions, basic logic inference and induction)
    • Tree and graph properties that make graph algorithms work
    • When does the greedy algorithm work?
  • Algorithm analysis:
    • Time and space complexity
    • Asymptotic analysis: Big Oh, Little oh, Theta
    • Worst case and average case analysis
    • Lower bounds
  • Tractable and intractable problems:
    • Polynomial time algorithms
    • NP-algorithms
    • NP-hardness and NP-completeness
    • NP-Reductions