[•]Data StructuresInteractive notes
Instructors · Boxi Yu · Yintong Huo

Data StructuresInteractive lecture notes and videos

Nine chapters on the structures behind every program: arrays and linked lists, stacks and queues, recursion, search trees, hash tables, heaps and graphs, with complexity and proof methods as the common language. Every chapter has short videos, interactive notes that ask you to predict before they show you, a self-check and exercises. Every program has been run, and every output shown is the real output. Pick Python or Java at the top: the concepts are shared, the code is in your language.

9chapters36videos planned2languages
FOUNDATIONS
L01

Complexity and Proof Methods

Counting operations and Big-O · Proving asymptotic bounds · Amortized analysis · Induction and loop invariants

Open notes →Notes and videos
L02

Arrays and Linked Lists

Arrays in memory · Dynamic arrays and resizing · Linked lists: rewiring pointers · Singly, doubly and circularly linked lists

Open notes →Notes and videos
L03

Linear Data Structures

Stacks · Queues: circular array and linked · Deques · Applications: bracket matching, BFS preview

Open notes →Notes and videos
L04

Recursion

The call stack and recursion trees · Binary search and recurrences · Merge sort · Quicksort

Open notes →Notes and videos
SEARCH, MAPS AND GRAPHS
L05

Trees and Binary Search Trees

Tree terms and traversals · BST search and insert · BST delete · Why BSTs degenerate

Open notes →Notes and videos
L06

Sorted Maps and Balanced Search Trees

Rotations and AVL trees · (2,4) trees: split and fuse · Red-black trees as (2,4) trees · Sorted map operations

Open notes →Notes and videos
L07

Unsorted Maps and Hashing

Hash functions · Separate chaining · Open addressing · Load factor and rehashing

Open notes →Notes and videos
L08

Heaps and Priority Queues

The priority queue ADT · Heap: up-heap and down-heap · Bottom-up heap construction · Heap sort

Open notes →Notes and videos
L09

Graphs and Graph Algorithms

Graph representations · BFS and DFS · Dijkstra's shortest paths · Minimum spanning trees and union-find

Open notes →Notes and videos

Every chapter has its notes and four videos of 8–10 minutes. The videos also appear inside each chapter, in the part they cover. Instructors: Boxi Yu · Yintong Huo.