The library

Pick a concept. Watch it think.

Every topic comes with an animated, interactive visualizer and a no-fluff breakdown of how it really works.

39 topics
{ } Linear live

Array

Contiguous memory, O(1) random access.

Core
{ } Linear live

Linked List

Nodes chained by pointers, O(1) splices.

Core
{ } Linear live

Doubly Linked List

Two-way pointers for O(1) backward traversal.

Intermediate
{ } Linear live

Stack

Last-In-First-Out. Push, pop, peek.

Core
{ } Linear live

Queue

First-In-First-Out. Enqueue, dequeue.

Core
{ } Associative live

Hash Table

Key → bucket via a hash function. O(1) average.

Core
{ } Tree live

Binary Search Tree

Left < node < right. Ordered O(log n) search.

Intermediate
{ } Tree live

Heap / Priority Queue

Complete binary tree; root is always min/max.

Intermediate
{ } Tree live

Trie (Prefix Tree)

Shared-prefix tree for fast string lookup.

Intermediate
{ } Graph live

Graph

Nodes and edges modeling any relationship.

Intermediate
ƒ(x) Sorting live

Bubble Sort

Adjacent swaps bubble the largest to the end.

Core
ƒ(x) Sorting live

Selection Sort

Repeatedly pick the minimum, place it at the front.

Core
ƒ(x) Sorting live

Insertion Sort

Build a sorted region one card at a time.

Core
ƒ(x) Sorting live

Merge Sort

Divide in half, sort, merge. Guaranteed O(n log n).

Intermediate
ƒ(x) Sorting live

Quick Sort

Partition around a pivot, recurse on each side.

Intermediate
ƒ(x) Searching live

Linear Search

Check each element until you find the target.

Core
ƒ(x) Searching live

Binary Search

Halve the search space every step. O(log n).

Core
ƒ(x) Graph live

Breadth-First Search

Explore level by level with a queue.

Intermediate
ƒ(x) Graph live

Depth-First Search

Plunge down one path before backtracking.

Intermediate
ƒ(x) Graph live

Dijkstra's Shortest Path

Greedy shortest paths with a priority queue.

Advanced
ƒ(x) Graph live

Bellman-Ford

Shortest paths that tolerate negative edges.

Advanced
ƒ(x) Graph live

Prim's MST

Grow a minimum spanning tree one edge at a time.

Advanced
ƒ(x) Graph live

Union-Find (DSU)

Near-constant merge & connectivity checks.

Advanced
ƒ(x) Patterns live

Two Pointers

Two indices converging or chasing through data.

Intermediate
ƒ(x) Patterns live

Sliding Window

A moving range that grows and shrinks in O(n).

Intermediate
ƒ(x) Patterns live

Recursion & The Call Stack

Functions that call themselves, one frame at a time.

Intermediate
ƒ(x) Patterns live

Backtracking

Try, fail, undo, try again — search a decision tree.

Advanced
ƒ(x) Patterns live

Dynamic Programming

Solve once, remember, reuse. Overlapping subproblems.

Advanced
Fundamentals live

CAP Theorem

Pick two: Consistency, Availability, Partition tolerance.

Core
Networking live

DNS Resolution

Translate a domain name into an IP address.

Core
Performance live

Content Delivery Network

Serve content from a location close to the user.

Intermediate
Networking live

Reverse Proxy

One front door that hides and protects everything behind it.

Intermediate
Reliability live

Database Replication

Keep copies of your data in sync — and keep serving if one goes down.

Advanced
Scaling live

Load Balancing

Spread traffic across servers, no single hotspot.

Core
Performance live

Caching

Keep hot data close to cut latency.

Intermediate
Scaling live

Database Sharding

Split one big database into many smaller ones.

Advanced
Scaling live

Consistent Hashing

Add or remove nodes without reshuffling everything.

Advanced
Reliability live

Message Queues

Decouple producers from consumers with a buffer.

Intermediate
Reliability live

Rate Limiting

Cap request rates to protect your service.

Intermediate