Algomations

Visualize algorithms step by step

Interactive visualizations for coding interview algorithms. Watch data structures transform in real time, step through code line by line, and build deep intuition for every pattern.

20Categories
1661Problems
1661Visualizations

Explore by Category

20 categories covering all major algorithm patterns

⇌177 problems

Two Pointers

Find two numbers in a sorted array that add up to a target value using the two-pointer technique.

177 interactive
#119 problems

Hash Maps And Sets

Find two numbers in an unsorted array that add up to a target using a hash map for O(n) lookup.

119 interactive
⟶67 problems

Linked Lists

Reverse a singly linked list by iteratively re-pointing each node to its predecessor.

67 interactive
⏩5 problems

Fast And Slow Pointers

Detect whether a linked list contains a cycle using Floyd's tortoise and hare algorithm.

5 interactive
⊞85 problems

Sliding Windows

Find all start indices of anagrams of a pattern within a string using a sliding window with character counts.

85 interactive
⟁68 problems

Binary Search

Find the index where a target should be inserted in a sorted array to maintain order.

68 interactive
▤112 problems

Stacks

Determine if a string of brackets is valid by using a stack to match opening and closing pairs.

112 interactive
△46 problems

Heaps

Find the k most frequently occurring strings using a hash map and a min-heap of size k.

46 interactive
⊢8 problems

Intervals

Merge all overlapping intervals by sorting and greedily extending the current interval.

8 interactive
Σ38 problems

Prefix Sums

Answer range sum queries in O(1) time after an O(n) prefix sum precomputation.

38 interactive
⌥173 problems

Trees

Mirror a binary tree by recursively swapping each node's left and right children.

173 interactive
T·13 problems

Tries

Implement a trie with insert, search, and startsWith operations for efficient prefix lookups.

13 interactive
◇199 problems

Graphs

Create a deep copy of a connected undirected graph using BFS or DFS with a visited map.

199 interactive
↺64 problems

Backtracking

Generate all possible orderings of a list of distinct numbers by swapping and backtracking.

64 interactive
▦251 problems

Dynamic Programming

Count the number of distinct ways to climb n stairs when you can take 1 or 2 steps at a time.

251 interactive
▸62 problems

Greedy

Determine if you can reach the last index of an array by greedily tracking the farthest reachable position.

62 interactive
⇅35 problems

Sort And Search

Sort a linked list in O(n log n) time using merge sort with slow-fast pointer splitting.

35 interactive
⊕38 problems

Bit Manipulation

Count the number of 1-bits for every integer from 0 to n using DP on the least significant bit.

38 interactive
∠76 problems

Math And Geometry

Traverse a matrix in spiral order by peeling off the outermost layer in each iteration.

76 interactive
⟺25 problems

Array Manipulation & Rearrangement

Find the contiguous subarray with the largest product. Track both max and min products at each position because two negatives can yield a positive maximum.

25 interactive