⚡ 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.
Shortest Path
4 algorithms
Live
O((V+E) log V)
Dijkstra's Algorithm
Greedy shortest-path algorithm for graphs with non-negative edge weights. Picks the locally optimal unvisited vertex at each step using a min-heap priority queue.
Live
O(V·E)
Bellman-Ford
Dynamic programming approach that handles negative edge weights. Relaxes all edges V−1 times and detects negative-weight cycles in a final verification pass.
Live
O(V³)
Floyd-Warshall
All-pairs shortest path via dynamic programming. Iteratively improves estimates through every possible intermediate vertex. Works with negative edges (no negative cycles).
Live
O(E log V)
A* Search
Dijkstra supercharged with a heuristic. Uses f(n) = g(n) + h(n) to guide the search toward the goal, dramatically reducing explored nodes in practice.
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.