The following lecture notes have been developed by instructors of CSC364. The order in which they occur corresponds to the order in which we will discuss this material during the term.
CSC 364 lecture notes:
Greedy Algorithms
Dynamic Programming Algorithms
Network Flows
Turing Machines and Polynomial Time
NP and NP-Completeness
Computability and Noncomputability