This website is an archive of the Spring 2019 semester of CS 225.

**→ Click here to view the current semester.**

High level overview of data structures, algorithms and C++

An algorithm for finding the shortest paths between nodes in a graph.

By Siping Meng

Trees that contain every nodes in a graph and has the minimum weight.

By Jenny Chen

An efficient way to store and query information about set membership.

By Eddie Huang

Tree structures that allow you to quickly both store elements and query the most important element

By Eddie Huang

Structure that can map keys to values

By Siping Meng

Trees for points in k dimension.

By Jenny Chen

A two-child tree that can be searched by moving left or right.

By Tamara Nelson-Fromm

Self-balancing trees that are characterized by their usually large branching factor. B-trees are often used for systems that read and write large blocks of data.

By Adrian Clark

Self-balancing binary search trees that allow you to store and query data in logarithmic time.

By Eddie Huang

A structure for the hierarchical modeling of data.

By Eddie Huang

Structures for storing and querying elements in particular linear orders.

By Jenny Chen, Eddie Huang

A memory structure that gives a linear order to the dataset.

By Eddie Huang

An abstraction that makes it easy to traverse arbitrary data structures.

By Nathan Walters

A core principle of object-oriented design that allows new objects to take on properties of existing objects.

By Nathan Walters

C++ data structures that are defined over generic types

By Eddie Huang

Data structures that define the behavior of objects

By Eddie Huang