Computer Science 3610
Analysis and Design of Algorithms
September 2021

Lecture Notes

  1. Introduction and PRELIMINARIES
  2. The Growth of Functions
            Exercises Set 1         Exercises Set 1 Solutions
  3. More Examples on Counting and the Growth of Functions
            Exercises Set 2         Exercises Set 2 Solutions
  4. Recurrences
            Exercises Set 3         Exercises Set 3 Solutions
  5. Homegeneous/Inhomogeneous Recurrences. Examples
  6. Data Structures
  7. Lists
  8. Graphs
  9. Trees
  10. Priority Queues
  11. Divide and Conquer Technique
  12. Transform and Conquer Technique
  13. Heaps and Heap Sort
  14. Bubble Sort
  15. Other Sorting Algorithms
  16. Decrease and Conquer Programming Technique
  17. Topological Sort

  18. Greedy Programming Technique
  19. Fractional Knapsack
  20. Huffman Encoding
  21. Minimum Spanning Trees
  22. Union of disjoint sets and finding the partition
  23. Single Source Shortest Path
  24. Dynamic Programming
  25. Dynamic Programming -- Transitive closure and other Graph algorithms
  26. Iterative Improvement
  27. Hash Tables
  28. Limitations of Algorithm Power
  29. Cheat Sheet PS PDF

Last modified:Thursday January 06, 2022 at 04:17 am AST
Cezar Câmpeanu