2019-2020 2020-2021 2021-2022 2022-2023 2023-2024
Browse
by subject...
    Schedule
view...
 

1 - 4 of 4 results for: CS161

CS 161: Design and Analysis of Algorithms

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.
Terms: Aut, Spr, Sum | Units: 3-5 | UG Reqs: GER:DB-EngrAppSci, WAY-FR

CS 166: Data Structures

Techniques in the design, analysis, and implementation of data structures. Isometries between data structures (including red/black trees and 2-3-4 trees), amortized analysis (including Fibonacci heaps and splay trees), and randomization (including count-min sketches and dynamic perfect hash tables). Data structures for integers and strings (including van Emde Boas trees and suffix trees). Possible additional topics include functional data structures, concurrent data structures, and spatial data structures. Prerequisites: CS107 and CS161.
Terms: Spr | Units: 3-4
Instructors: Schwarz, K. (PI)

CS 167: Readings in Algorithms

Recent research in the design and analysis of algorithms. Readings cover both classical and emerging topics, such as: computational models for massive data sets; data privacy; dimensionality reduction; exact and approximate algorithms for NP-hard problems; graph algorithms; hashing; online learning; search trees; streaming and sketching. Students are expected to respond to research papers, deliver an oral presentation, and complete a reading or programming project. Limited enrollment; preference given to undergraduates. Prerequisites: CS161.
Terms: Spr | Units: 3

CS 161L: Implementation of Algorithms

Optional companion course to CS 161; provides an opportunity to practice implementing algorithms covered in the lectures and problem sets of CS 161. Students learn implementation details, distinguish practical runtime from asymptotic runtime, and explore the tradeoff between code complexity and runtime complexity. Students are expected to be proficient in either C++ or Java at the 106 level.
Instructors: Nguyen, A. (PI)
Filter Results:
term offered
updating results...
teaching presence
updating results...
number of units
updating results...
time offered
updating results...
days
updating results...
UG Requirements (GERs)
updating results...
component
updating results...
career
updating results...
© Stanford University | Terms of Use | Copyright Complaints