25 Master DSA Patterns · Step-by-Step Visualizer

Learn CS Algorithms by watching them move frame-by-frame.

Master Data Structures & Algorithms visually. Step through every array swap, pointer move, tree traversal, and stack frame interactively with code line highlights.

Launch Two Pointers Visualizer
Comprehensive Track Directory

Explore All 25 Data Structure & Algorithm Patterns

Total Patterns: 25 | Problems: 50+
Pattern #14 Problems

Two Pointers

Iterate from opposite ends or converging indices to search sorted elements in O(N)

Array / StringVisualize Track
Pattern #23 Problems

Arrays & Hashing

Trade O(N) space for instantaneous O(1) hash lookup table operations

Data StructuresVisualize Track
Pattern #31 Problems

Sliding Window

Maintain a contiguous window boundary across arrays to reduce O(N²) to O(N)

Array / StringVisualize Track
Pattern #41 Problems

Stack & Monotonic Stack

Last-In First-Out structure for nested parsing and monotonic range tracking

Data StructuresVisualize Track
Pattern #51 Problems

Linked List

Node-based pointer manipulation for linear memory traversal and O(1) mutations

Linear StructuresVisualize Track
Pattern #61 Problems

Fast & Slow Pointers

Floyd's Cycle Finding algorithm using dual pointers moving at different speeds

Linear StructuresVisualize Track
Pattern #71 Problems

Binary Search

Logarithmic search space halving down to O(log N) efficiency

Pattern #81 Problems

Trees & Tree DFS/BFS

Hierarchical node traversal via recursion DFS or level-order queue BFS

Trees & GraphsVisualize Track
Pattern #91 Problems

Binary Search Tree

Ordered tree structure with left < node < right property

Trees & GraphsVisualize Track
Pattern #101 Problems

Heap / Priority Queue

O(1) access to min/max key with O(log N) insertion and extraction

Data StructuresVisualize Track
Pattern #111 Problems

Backtracking

Systematic state space search via depth-first decision trees with pruning

Pattern #121 Problems

Trie (Prefix Tree)

Tree structure optimized for string prefix lookup in O(L) time

Advanced StructuresVisualize Track
Pattern #131 Problems

Graph BFS / DFS

Grid and adjacency graph exploration using queue BFS or stack DFS

Trees & GraphsVisualize Track
Pattern #141 Problems

Topological Sort

Linear ordering of DAG nodes respecting directed dependency constraints

Advanced GraphsVisualize Track
Pattern #151 Problems

Union Find (Disjoint Set)

Near O(1) connected component grouping via Path Compression and Union by Rank

Advanced StructuresVisualize Track
Pattern #161 Problems

Shortest Path / Dijkstra

Single-source shortest path traversal using priority queue greedy expansion

Pattern #171 Problems

1D Dynamic Programming

Solve subproblems using 1D tabulation or memoization arrays

Dynamic ProgrammingVisualize Track
Pattern #181 Problems

2D Dynamic Programming

Multi-dimensional grid tabulation for sequence alignment and grid paths

Dynamic ProgrammingVisualize Track
Pattern #191 Problems

Greedy Algorithms

Make locally optimal choices at each step to reach a global optimum

Pattern #201 Problems

Intervals & Overlaps

Sort range tuples [start, end] to merge overlapping time blocks

Pattern #211 Problems

Bit Manipulation

Exploit binary AND, OR, XOR, and bit shifts for O(1) space tricks

Low-Level OperationsVisualize Track
Pattern #221 Problems

2D Matrix & Grid Traversal

Multi-directional index math and in-place row-column transformations

Matrix & GeometryVisualize Track
Pattern #231 Problems

Prefix Sum & Difference

Precalculate cumulative sums to solve contiguous range query problems in O(1)

Array / StringVisualize Track
Pattern #241 Problems

Segment Tree & Range Queries

Binary tree structure enabling logarithmic O(log N) dynamic range updates and queries

Advanced StructuresVisualize Track
Pattern #251 Problems

Math & Geometry

Algorithmic math concepts including GCD, exponentiation, and coordinate geometry

MathematicsVisualize Track