Dec 07, 2025  
2024-25 Undergraduate Catalog 
    
2024-25 Undergraduate Catalog [ARCHIVED CATALOG]

CS 320 - Algorithm Design & Analysis


In this course, students are given a thorough grounding in the design and analysis of algorithms, with an emphasis on practical yet efficient algorithms. Different algorithms for a given computational task are presented, and their relative merits are evaluated based on performance measures. This course includes algorithm design techniques (e.g. divide-and-conquer, dynamic programming, greedy algorithms, amortized analysis, randomization); algorithms for fundamental graph problems (e.g. minimum-cost spanning tree, connected components, topological sort, and shortest paths); and possible additional topics (e.g. Network Flows, Max Flow-Min Cut theorem, Capacity Scaling Algorithm, Traveling Salesman Problem, Polynomial Time Reductions and NP-completeness.

Prerequisites CS 220  and MAT 230 ; or permission of the chair.
Credits: 3

Class Level Junior Undergraduate
Program Undergraduate