Design and Analysis of Algorithms

Teaching assistance, Master's course, USTC, 2024

This course is designed for international students in USTC, and the language is English.

Syllabus

  • Approximation algorithms
    • NP-completeness, computational complexity reduction, Cook’s theorem, etc
    • Basics of approximation of optimization problems
    • Basic algorithms: approximation algorithms for graph coloring, multi-machine scheduling, packing, traveling salesman, vertex cover, and maximum independent set problems
  • Randomized algorithms
    • Probability review and concentration bounds
    • Las Vegas Algorithms, e.g., randomized quick sort
    • Monte Carlo Algorithms, e.g., primality testing, and matrix multiplication
    • Some other basic randomized algorithms
  • Distributed algorithms
    • Basics of distributed computing models
    • Basics of distributed algorithms: synchronous and asynchronous network models, leader election, spanning tree construction, broadcast, breadth/depth-first search, shortest path, maximum independent set, and other distributed algorithms