CSC 349 – Algorithms

These materials are from an undergraduate algorithms course that I love to teach at Cal Poly. I divide the course into 6 distinct topics: Divide and Conquer Algorithms, Graph Algorithms, Greedy Algorithms, Dynamic Programming Algorithms, Complexity, and Approximation Algorithms. I love creating useful slides, if you have any recommendations for additional topics or modifications please let me know.

Slides

divide_and_conquer

graphs

greedy

dynamic_programming

complexity

approximation

The following homework assignments were mostly taken from Algorithms by Dasgupta, Papadimitriou, and Vazirani or original.

Homework

homework_1

homework_2

homework_3

homework_4

homework_5