BeeTool.Dev - Essential Tools for developers

Stories.Tool Tabs VaultPersonal Documents
Super Debugging Context
BeeTool.Dev

Essential tools, knowledge, and playgrounds for developers.

Explore

  • Stories
  • Personal Documents
  • Features
  • Algorithms Playground

Tool Tabs

  • JSON Compare
  • SQL Formatter
  • Text Diff
  • All tools →

Learn

  • Sorting algorithms
  • Searching algorithms
  • Algorithm Race Mode
© 2024 – 2026 BeeTool.DevPrivacy policy
Algorithms Playground

Learn algorithms by watching them think

Interactive, step-by-step visualizations of the classic sorting and searching algorithms — every comparison, swap, and probe animated, measured, and explained as it happens.

Race Mode Compare all

11 algorithms Sorting

Bubble Sort

Adjacent elements swap their way to order — simple, visual, and famously slow.

avg O(n²)space O(1)Beginnerstable

Selection Sort

Scan for the minimum, lock it in, repeat — the fewest writes of any comparison sort.

avg O(n²)space O(1)Beginner

Insertion Sort

Slide each new element into its place in the sorted prefix — the quadratic sort that production code actually uses.

avg O(n²)space O(1)Beginnerstable

Merge Sort

Split in half, sort each side, merge two sorted streams — guaranteed O(n log n), stable, and built for data that doesn't fit in memory.

avg O(n log n)space O(n)Intermediatestable

Quick Sort

Pick a pivot, split around it, recurse — the cache-friendly in-place sort that most systems code is built on.

avg O(n log n)space O(log n)Intermediate

Heap Sort

Build a max-heap, then repeatedly pull the root to the back — guaranteed O(n log n) with O(1) memory.

avg O(n log n)space O(1)Advanced

Shell Sort

Insertion sort with a running start: sort far-apart elements first, then shrink the gap until one pass finishes the job.

avg O(n^1.25) – O(n^1.5)space O(1)Intermediate

Counting Sort

Don't compare — count. Tally each key, compute positions with prefix sums, and place every element exactly once.

avg O(n + k)space O(n + k)Intermediatestable

Radix Sort

Sort digit by digit with a stable pass per position — linear-time sorting for fixed-width keys.

avg O(d · (n + k))space O(n + k)Advancedstable

Bucket Sort

Scatter values into range-based buckets, sort each tiny bucket, and concatenate — linear time when data spreads evenly.

avg O(n + k)space O(n + k)Intermediatestable

Tim Sort

The pragmatist's sort: detect the runs real data already has, insertion-sort the small stuff, merge the rest — the algorithm behind Python, Java, and V8.

avg O(n log n)space O(n)Advancedstable

10 algorithms SearchingCompare all →

Linear Search

Walk the array front to back and compare every element — zero preconditions, zero setup, and unbeatable when the data is small or unsorted.

avg O(n)ArrayBeginner

Binary Search

Halve the search space on every comparison — a sorted array of a billion elements falls in about 30 probes.

avg O(log n)Sorted arrayIntermediate

Jump Search

Leap through a sorted array in √n-sized strides, then walk back linearly inside the one block that can hold the target.

avg O(√n)Sorted arrayIntermediate

Exponential Search

Double a probe index until you overshoot, then binary-search the last doubling — O(log i) where i is the target's position, not the array's size.

avg O(log i)Sorted arrayIntermediate

Interpolation Search

Instead of always probing the middle, estimate where the target should be from its value — O(log log n) on uniformly distributed keys.

avg O(log log n)Sorted arrayAdvanced

Hash Lookup

Compute where the key lives instead of searching for it — expected O(1) no matter how large the table grows.

avg O(1)Hash tableIntermediate

Binary Search Tree Search

Binary search made dynamic — one ordering comparison per level steers you left or right, and the structure absorbs inserts and deletes that would cripple a sorted array.

avg O(log n)Binary search treeIntermediate

Trie Search

Search time depends on the length of the key, not how many keys you've stored — a dictionary of a million words answers in exactly as many steps as the word has letters.

avg O(m)TrieAdvanced

Breadth-First Search (BFS)

Explore a graph in expanding rings from the start — the first time you reach a node is provably the shortest unweighted path to it.

avg O(V + E)GraphIntermediate

Depth-First Search (DFS)

Commit to one path until it dead-ends, then backtrack — the traversal that turns recursion itself into a graph explorer.

avg O(V + E)GraphIntermediate