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
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