EdusalsaDiscover Your Stanford

CS 161

Design and Analysis of Algorithms

  • autumn
  • winter
  • summer

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, amortized analysis, randomization. Algorithms for fundamental graph problems: minimum-cost spanning tree, connected components, topological sort, and shortest paths. Possible additional topics: network flow, string searching. Prerequisite: 103 or 103B; 109 or STATS 116.

Fulfills

  • GER:DB-EngrAppSci

  • WAY-FR

Course Prequisites

Sections

  • LEC

    • Monday Wednesday 3:00:00 PM - 4:20:00 PM @ NVIDIA Auditorium with Leonidas Guibas

      May be taken for 3 units by graduate students.

  • DIS

    • Tuesday 10:30:00 AM - 11:20:00 AM @ 160-124

    • Tuesday 4:30:00 PM - 5:20:00 PM @ 380-380W

    • Thursday 10:30:00 AM - 11:20:00 AM @ 160-124

    • Thursday 5:30:00 PM - 6:20:00 PM @ Hewlett Teaching Center 102

    • Friday 11:30:00 AM - 12:20:00 PM @ 380-380W

    • Friday 4:30:00 PM - 5:20:00 PM @ Gates B12

  • LEC

    • Tuesday Thursday 9:30:00 AM - 11:20:00 AM with David Eng

      May be taken for 3 units by Stanford graduate students.

Grade Distribution

Sign Up

To save CS 161 to your course bucketlist

Already Have An Account? Log In