CS600: Advanced Algorithms

  1. Course Info.

  2. Basic Data Structures.

  3. Sorting.

  4. Divide and Conquer.

  5. Matrix Data Structure and Algorithms.

  6. Binary Trees.

  7. Balanced Trees.

  8. Priority Queues.

  9. Disjoint Sets.

  10. Graph Basics.

  11. Shortest Paths.

  12. Minimum Spanning Trees.

  13. Network Flow Problems.

  14. Bipartite Graphs.

  15. Dynamic Programming.

  16. Strings.

  17. Randomized Algorithms.

  18. Hashing.

    • Hash table [slides].

    • Collision-resistant hash [slides].

    • Locality sensitive hashing [slides].

  19. Cryptographic Algorithms.

  20. Crypto Currency.

  21. Backtracking.

    • Turnpike reconstruction [slides].

    • Eight queens problem [slides].

    • Hamiltonian cycle [slides].