EdusalsaDiscover Your Stanford

CS 161

Design and Analysis of Algorithms

  • Not Offered

3 - 5 units

Letter or Credit/No Credit

Worst and average case analysis. Recurrences and asymptotics. Efficient algorithms for sorting, searching, and selection. Data structures: binary search trees, heaps, hash tables. Algorithm design techniques: divide-and-conquer, dynamic programming, greedy algorithms, randomization. Algorithms for fundamental graph problems: minimum-cost spanning tree, connected components, topological sort, and shortest paths. Possible additional topics: network flow, string searching, amortized analysis, stable matchings and approximation algorithms. Prerequisite: 103 or 103B; 109 or STATS 116.


  • GER:DB-EngrAppSci

  • WAY-FR

Course Prequisites

Grade Distribution

Sign Up

To save CS 161 to your course bucketlist

Already Have An Account? Log In