The claim this proves: tools that make algorithms visible
DSA Visualizer
45 interactive views of data structures and algorithms, forwards, backwards and side by side
45 interactive views11 algorithm families17 sorting algorithms
- The problem
- Textbook diagrams show the start and end of an algorithm, not the decisions in between. Big-O notation alone doesn't show why two O(n log n) sorts behave so differently.
- What I built
- Every operation is a pure function that precomputes an array of frames. One playback engine drives all of them, so stepping backwards, undo and redo come for free. Race & Compare runs 2 to 4 sorts on the same input, with a fair mode that spends the same number of operations in every lane per tick.
- Where it stands
- 45 views across 11 families, from arrays and trees to dynamic programming, strings and backtracking. Sorts count their own comparisons, reads, writes, auxiliary memory and recursion depth as they run, graph views compare list vs matrix cost and Prim vs Kruskal, and everything runs entirely in the browser.
How it works
Input. Your array or structure, or a generated one.
Everything inside, by family
- Arrays
- 17 sorts, 5 searches, Race & Compare
- Trees
- 2-3, B and B+ trees, heaps, leftist trees, priority queues, selection trees, tries, balance and height, range queries, Huffman coding
- Graphs
- Traversal, connectivity, minimum spanning trees, shortest paths (uninformed and heuristic), network flow, union-find
- Dynamic programming
- LCS, edit distance, 0/1 knapsack, coin change, LIS, matrix chain order, optimal BST
- Strings
- KMP, Z-algorithm, Rabin-Karp, Manacher
- Backtracking
- N-Queens, Sudoku, subset sum, permutations
- Greedy and math
- Activity selection, fractional knapsack, Sieve of Eratosthenes, fast exponentiation, Euclid’s GCD
- Lists, stacks, hashing
- Linked lists, polynomials, stacks, queues, infix/postfix/prefix, hash tables, dynamic hashing, sparse matrices, array layout
Stack
- React
- JavaScript
- Vite
- CSS