Python Edition

DSA Mastery Hub

20 topics. Interactive visualizations. Real patterns. One revision = Interview ready.

20 Topics
Interactive
Python Code
Visual Learning
01

Complexity Analysis

Big O, time & space complexity, growth rates, how to analyze any code

Big OTimeSpace
02

Arrays & Prefix Sum

Array operations, prefix sums, range queries, difference arrays

Prefix SumRange Query
03

Two Pointers

Opposite ends, fast/slow pointers, in-place operations, pair finding

Opposite EndsFast/Slow
04

Hashing / HashMap

HashMap patterns, Counter, Set, frequency counting, complement lookup

HashMapCounterSet
05

Sliding Window

Fixed & variable windows, expand/shrink strategy, substring problems

FixedVariableSubstring
06

Binary Search

Classic search, search on answer, rotated arrays, boundary conditions

Sorted ArrayAnswer Space
07

Stack

LIFO, parentheses matching, monotonic stack, min stack, expression eval

LIFOMonotonicBrackets
08

Queue & Deque

FIFO, deque, BFS traversal, monotonic deque, sliding window max

FIFODequeBFS
09

Linked List

Reversal, cycle detection, merge, dummy node, fast & slow pointers

ReversalCycleMerge
10

Recursion

Base case, recursive case, call stack, memoization, divide & conquer

Base CaseMemoD&C
11

Backtracking

Choose-Explore-Unchoose, subsets, permutations, combinations, N-Queens

SubsetsPermutations
12

Greedy

Local optimal → global optimal, interval problems, jump game, when it works

IntervalsSort First
13

Trees & BST

Traversals, BST property, depth, LCA, level-order, path problems

TraversalsBSTLCA
14

Heap / Priority Queue

Min-heap, max-heap, top K, median finder, heapq in Python

Min HeapTop KMedian
15

Graphs — BFS & DFS

Adjacency list, BFS shortest path, DFS components, grid problems, cycles

BFSDFSGrid
16

Dynamic Programming

State definition, transitions, 1D & 2D DP, knapsack, LCS, coin change

MemoizationTabulation1D/2D
17

Bit Manipulation

Bitwise operators, checking/setting bits, XOR properties, O(1) tricks

Bitwise OpsXORO(1)
18

Advanced Graphs

Dijkstra's Algorithm for weights, DSU for connectivity and cycles

DijkstraDSUWeights
19

Segment Trees

Dynamic range sum/min/max queries, O(log n) point updates

Range QueryUpdates
20

Tries (Prefix Trees)

O(L) prefix search, dictionary building, autocomplete structures

Prefix SearchDict

Pattern Quick Reference

Sorted array + find pairTwo PointersO(n)
Unsorted + find pair + O(n)HashMapO(n)
Subarray of size kFixed Sliding WindowO(n)
Longest/shortest subarray + conditionVariable Sliding WindowO(n)
Sorted + find element/positionBinary SearchO(log n)
Brackets / next greater / undoStackO(n)
Shortest path unweightedBFSO(V+E)
All paths / components / cycleDFSO(V+E)
Kth largest / Top KHeapO(n log k)
All combinations / permutationsBacktrackingO(2ⁿ) or O(n!)
Min/max ways / count waysDynamic ProgrammingO(n²) typical
Range sum queries, same arrayPrefix SumO(1) query
Counting bits / XOR propertiesBit ManipulationO(1) or O(log n)
Shortest path + WeightsDijkstraO(E log V)
Connectivity / Cycle detectionDSUO(α(V))
Point updates + Range queriesSegment TreeO(log n)
Prefix search / DictionaryTrieO(L)