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.