DSA Tools
Interactive companions for the DSA course. Everything runs in your browser — your code never leaves it, and no login is needed. Scroll to explore each tool.
Time Complexity Playground
Paste a Python function and walk through the course's 5-step Big-O derivation: variables and T(n), a per-line operation-count table, simplification, and the final class — then benchmark real runtimes against theoretical curves.
- 5-step analysis of loops and recursion
- Safe in-browser benchmarking with charts
- Built-in course examples
Recursive Functions Visualizer
Write a recursive Python function and watch it run: frames push and pop on the call stack while the call tree draws itself, with repeated calls flagged — plus time and space analysis on demand.
- Step-by-step call stack and call tree replay
- Trace your own code, sandboxed
- Recurrence-method time & space analysis
BT/BST Coding Assistant
Generate fresh binary tree and binary search tree practice questions for the final's coding part — solve first, then reveal the full solution with complexity analysis and walkthroughs.
- Four question types: iterative/recursive × BT/BST
- Solutions stay hidden until you ask
- Your OpenRouter key, your choice of model
Heap Visualizer
Watch a binary heap work step by step: insert with sift-up, extract with sift-down, heapify a list, and heap sort building its sorted tail — animated in the tree and the array at once.
- Min-heap or max-heap, your choice
- Insert one by one or heapify any list
- Scrub back through every compare and swap
Graph Visualizer
Draw a graph, then watch it work: breadth-first and depth-first traversals, Dijkstra's shortest paths, and Prim's and Kruskal's minimum spanning trees — animated on the graph and on its adjacency matrix and list at once.
- Draw nodes and weighted edges, or load a course graph
- BFS, DFS, Dijkstra, Prim, Kruskal — step by step
- See the adjacency matrix and list update live
Balanced Trees Visualizer
Pick a tree type, then insert values one at a time and watch it take shape: a plain binary search tree, an AVL tree, a red-black tree, or a 2-3 tree — with every comparison, rotation, recolour, and split explained as it happens, and four ways to traverse a BST.
- Choose a tree type, then build it one insertion at a time
- See why sorted input turns a BST into a stick
- Rotations, recolours, and median promotions, step by step
- Traverse a BST: pre-, in-, post-order, and BFS
The tools assist your DSA reasoning — they don't replace it.