Techniques for the analysis of algorithms, including counting, summation, recurrences, and asymptotic relations; techniques for the design of efficient algorithms, including greedy methods, divide and conquer, and dynamic programming; examples of their application; an introduction to tractable and intractable problems.
This course may not be repeated for credit.
Notes
- Students who have credit for Computer Science 319 instead of Computer Science 331 should contact the department for instructions on how to enrol in this course.
Prerequisite(s)
- Computer Science 331; and 313 or 351; and Mathematics 211 or 213; and 3 units from Mathematics 249, 265 or 275.
Sections
This course will be offered next in
Winter 2023.