DSA Tutorials

Master Data Structures & Algorithms with 28 visual, step-by-step tutorials. From arrays to dynamic programming — build the foundation for technical interviews and real-world engineering.

28 Tutorials
4 Learning Paths
5 Free Tutorials

Learning Paths

Follow a structured path or jump to any topic. Each path builds on the previous one.

Topic Explorer

📋

Arrays & Strings

Contiguous memory, indexing, two-pointer technique, sliding window patterns.

🔗

Linked Lists

Singly, doubly linked lists, fast/slow pointers, cycle detection, reversal.

📚

Stacks & Queues

LIFO/FIFO, monotonic stacks, BFS queues, expression evaluation.

🗄

Hash Tables

Hash functions, collision handling, frequency counting, two-sum patterns.

📊

Algorithm Analysis

Big-O notation, time/space complexity, amortized analysis, best/worst/average case.

🌲

Trees Basics

Binary trees, BST, traversals (inorder, preorder, postorder), recursion on trees.

🌳

Advanced Trees

AVL, Red-Black trees, B-trees, segment trees, Fenwick trees.

🏔

Heaps

Min/max heaps, priority queues, heap sort, top-K problems, median finding.

🔠

Tries

Prefix trees, autocomplete, word search, compressed tries.

🕸

Graphs

Representations, BFS, DFS, connected components, bipartite checking.

🌐

Graph Algorithms

Dijkstra, Bellman-Ford, Floyd-Warshall, MST (Kruskal, Prim).

🔄

Topological Sort

DAGs, Kahn's algorithm, course scheduling, build order dependencies.

🌊

Network Flow

Max flow, min cut, Ford-Fulkerson, bipartite matching.

🤝

Union-Find

Disjoint sets, path compression, union by rank, connected components.

🔢

Sorting Algorithms

Bubble, merge, quick, heap, radix sort with visual comparisons.

🔎

Searching Algorithms

Binary search, search variations, rotated arrays, search in matrix.

🌀

Recursion

Base cases, recursive thinking, backtracking, memoization.

✂️

Divide & Conquer

Merge sort, quickselect, closest pair, matrix multiplication.

💰

Greedy Algorithms

Activity selection, Huffman coding, fractional knapsack, interval scheduling.

🧩

Dynamic Programming

Memoization, tabulation, LCS, knapsack, coin change, edit distance.

💻

Bit Manipulation

Bitwise operators, bit tricks, single number, power of two.

🔍

Pattern Matching

KMP, Rabin-Karp, Boyer-Moore, regular expressions.

📝

Advanced Strings

Suffix arrays, palindromes, string hashing, Z-algorithm.

📐

Matrix Algorithms

Matrix traversal, rotation, spiral order, search in 2D matrix.

Interval Problems

Merge intervals, insert interval, meeting rooms, calendar conflicts.

🌍

Computational Geometry

Convex hull, line intersection, closest pair, sweep line.

🧮

Mathematical Algorithms

GCD, primes, modular arithmetic, combinatorics, number theory.

🏗

Design Problems

LRU Cache, Min Stack, Iterator design, data structure design.

Big-O Quick Reference

How algorithm performance scales with input size. Hover to compare.

O(1) Constant
O(log n) Logarithmic
O(n) Linear
O(n log n) Linearithmic
O(n²) Quadratic
O(n³) Cubic
O(2ⁿ) Exponential