Interactive Visualizations

Learn algorithms
by seeing them run.

Step through classic CS algorithms at your own pace. Watch data structures transform, edges light up, and distances converge — all in real time.

4+
Live demos
6+
Coming soon
Free forever
⚡ Available Now
Dijkstra, Bellman-Ford, Floyd-Warshall, & A* Interactive Visualizer
Step through both shortest-path algorithms on real graphs. Adjust the source node, control playback speed, and watch the distance table update live.
Open Visualizer ↗
Graph Traversal
3 algorithms
🌊
Live O(V+E)
Breadth-First Search
Explores all vertices at the current depth before moving deeper. Uses a queue. Guarantees the shortest path in unweighted graphs and is the foundation of Dijkstra.
🕳️
Coming soon O(V+E)
Depth-First Search
Dives as deep as possible along each branch before backtracking. Uses a stack (or recursion). Essential for cycle detection, topological sort, and connected components.
📋
Coming soon O(V+E)
Topological Sort
Linear ordering of vertices in a directed acyclic graph (DAG) such that for every edge u→v, u appears before v. Uses DFS or Kahn's algorithm.
Minimum Spanning Trees
2 algorithms
🌿
Coming soon O(E log V)
Prim's Algorithm
Greedily grows a spanning tree one vertex at a time by always adding the cheapest edge connecting the tree to a new vertex. Closely related to Dijkstra.
🔗
Coming soon O(E log E)
Kruskal's Algorithm
Builds the MST by sorting all edges by weight and greedily adding the smallest edge that doesn't create a cycle. Uses Union-Find for efficient cycle detection.
Sorting
4 algorithms
Coming soon O(n log n) avg
Quick Sort
Divide-and-conquer algorithm that partitions around a pivot. Excellent cache performance in practice despite O(n²) worst case. The backbone of most standard libraries.
🔀
Coming soon O(n log n)
Merge Sort
Stable divide-and-conquer sort. Recursively splits the array in half, sorts each half, then merges. Guaranteed O(n log n) and widely used for linked lists.
🫧
Coming soon O(n²)
Bubble Sort
Repeatedly steps through the list, comparing adjacent elements and swapping them if out of order. Simple to understand and visualize — great as a teaching tool.
🏔️
Coming soon O(n log n)
Heap Sort
Uses a binary heap to sort in-place. First builds a max-heap, then repeatedly extracts the maximum. Combines Merge Sort's time complexity with Quick Sort's space efficiency.
Dynamic Programming
3 algorithms
🎒
Coming soon O(n·W)
0/1 Knapsack
Classic DP problem: given items with weights and values, find the most valuable subset that fits within a weight limit. Solved by building a 2D table of subproblems.
🔤
Coming soon O(m·n)
Longest Common Subsequence
Finds the longest sequence of characters common to two strings (not necessarily contiguous). Foundation of diff tools, DNA analysis, and spell checkers.
🐇
Coming soon O(n)
Fibonacci — Memoization
The gateway to DP thinking. Compare naïve recursion (O(2ⁿ)), top-down memoization, and bottom-up tabulation — all three approaches side-by-side with call trees.