CSE515 Algorithms design

  1. Reductions and NP-hardness [slides][notes]
  2. A few NP-hard problems [slides]
  3. Algorithms for vertex cover [slides][notes]
  4. Greedy algorithm for set Cover [slides][notes]
  5. Scheduling on a single machine [slides][notes]
  6. Local search and scheduling jobs on identical parallel machines [slides]
  7. The knapsack problem [slides]
  8. The k-center problem[slides][notes]
  9. Randomized approximation algorithm for MAX 3-SAT [slides][notes]
  10. Randomized selection [slides][notes]
  11. Quicksort [slides][notes]
  12. Random binary search trees [slides][notes]
  13. Tail inequalities [slides][notes]
  14. Randomized distributed algorithms [slides]
  15. Minimum spanning trees and union-find [slides]
  16. Convex hulls [slides]
  17. Multithreaded algorithms I [slides][notes]
  18. Multithreaded algorithms II [slides]
  19. Multithreaded algorithms III: merge sort [slides][notes]
  20. Fast Fourier transform I [slides]
  21. Fast Fourier transform II [slides][notes]
  22. Fast Fourier transform III [slides]
  23. Quantum algorithms I [slides][notes]
  24. Quantum algorithms II [slides][notes]
  25. Quantum algorithms III [slides]
  26. Quantum algorithms IV [slides]