Algorithms & Data Structures
Comprehensive guides to algorithms, data structures, complexity analysis, and coding interview prep. Every guide includes step-by-step explanations, code implementations in multiple languages, Big O analysis, common interview questions, and real-world use cases. Whether you are preparing for FAANG interviews, competitive programming, or building efficient software, these guides give you the depth you need to truly understand each algorithm and data structure from first principles.
Audit your code free ยท Start your 14-day free trial
Understanding algorithms and data structures is the foundation of computer science and software engineering. Sorting algorithms like merge sort and quick sort teach divide-and-conquer thinking. Searching algorithms like binary search demonstrate how logarithmic time dramatically outperforms linear scans. Graph algorithms power navigation systems, social networks, and recommendation engines. Dynamic programming transforms exponential brute-force solutions into polynomial-time masterpieces.
Each guide in this collection follows a consistent structure: we start with the core intuition behind the algorithm, walk through a visual step-by-step example, analyze time and space complexity rigorously, provide production-ready implementations in Python, TypeScript, Java, C++, Go, and Rust, cover common mistakes developers make, and finish with interview-style practice problems. We never fabricate benchmark data or complexity claims. Every analysis is derived from established computer science literature.
Data structures are equally critical. Choosing between an array, linked list, hash table, or balanced tree can mean the difference between an O(1) lookup and an O(n) scan. Our guides explain not just how each structure works internally, but when and why to choose one over another in production systems. We cover memory layout, cache performance, amortized analysis, and real-world trade-offs that textbooks often skip.
For interview preparation, we organize problems by pattern: two pointers, sliding window, BFS/DFS, dynamic programming, and more. Each pattern guide includes the template approach, five progressively harder problems with full solutions, and tips for explaining your thought process to interviewers. Paste any solution into NexusBro QA for instant feedback on correctness, complexity, and edge cases.
sorting
Quick Sort in Java: Implementation Guide (2026)
11 min read
Bubble Sort in Python: Code & Examples (2026)
10 min read
Selection Sort in Python: Code & Examples (2026)
10 min read
Radix Sort in TypeScript: Typed Code (2026)
11 min read
Counting Sort in TypeScript: Typed Code (2026)
11 min read
Tim Sort in Java: Implementation Guide (2026)
11 min read
Cocktail Sort in Java: Implementation Guide (2026)
11 min read
Pancake Sort in Python: Code & Examples (2026)
10 min read
Pancake Sort in TypeScript: Typed Code (2026)
11 min read
Sleep Sort in Python: Code & Examples (2026)
10 min read
Strand Sort in Java: Implementation Guide (2026)
11 min read
Library Sort in Java: Implementation Guide (2026)
11 min read
Tim Sort in Java: Implementation Guide (2026)
11 min read
Heap Sort vs Merge Sort: Comparison (2026)
10 min read
Merge Sort vs Radix Sort: Comparison (2026)
10 min read
Comb Sort vs Shell Sort: Comparison (2026)
10 min read
Tree Sort vs Heap Sort: Comparison (2026)
10 min read
Pigeonhole Sort vs Counting Sort: Comparison (2026)
10 min read
Bogo Sort vs Bubble Sort: Comparison (2026)
10 min read
Gnome Sort vs Insertion Sort: Comparison (2026)
10 min read
Bitonic Sort vs Merge Sort: Comparison (2026)
10 min read
searching
Binary Search in Python: Code & Examples (2026)
10 min read
Depth First Search Interview Questions (2026)
14 min read
Sliding Window in Python: Code & Examples (2026)
10 min read
Backtracking Search in Java: Implementation Guide (2026)
11 min read
Binary Search On Answer in TypeScript: Typed Code (2026)
11 min read
Binary Search On Answer in Java: Implementation Guide (2026)
11 min read
Sieve Of Eratosthenes in TypeScript: Typed Code (2026)
11 min read
Sieve Of Eratosthenes in Java: Implementation Guide (2026)
11 min read
Median Of Medians: Complete Guide & Examples (2026)
12 min read
Median Of Medians in Python: Code & Examples (2026)
10 min read
Median Of Medians in TypeScript: Typed Code (2026)
11 min read
Median Of Medians in Java: Implementation Guide (2026)
11 min read
Suffix Array Construction in Java: Implementation Guide (...
11 min read
Longest Common Prefix in Java: Implementation Guide (2026)
11 min read
Aho Corasick in Python: Code & Examples (2026)
10 min read
Aho Corasick in TypeScript: Typed Code (2026)
11 min read
Aho Corasick in Java: Implementation Guide (2026)
11 min read
Bloom Filter in TypeScript: Typed Code (2026)
11 min read
Hyperloglog in Java: Implementation Guide (2026)
11 min read
Line Intersection in Java: Implementation Guide (2026)
11 min read
Sliding Window in Python: Code & Examples (2026)
10 min read
data structures
Queue in TypeScript: Typed Code (2026)
11 min read
Trie in Java: Implementation Guide (2026)
11 min read
Hash Set in TypeScript: Typed Code (2026)
11 min read
Red Black Tree: Complete Guide & Examples (2026)
12 min read
Min Heap in Java: Implementation Guide (2026)
11 min read
Graph Adjacency List in Python: Code & Examples (2026)
10 min read
Graph Adjacency Matrix: Complete Guide & Examples (2026)
12 min read
Graph Adjacency Matrix Interview Questions (2026)
14 min read
Fenwick Tree in Python: Step-by-Step Code & Testing (2026)
10 min read
Bloom Filter in TypeScript: Typed Code (2026)
11 min read
Disjoint Sparse Table: Complete Guide & Examples (2026)
12 min read
Disjoint Sparse Table Interview Questions (2026)
14 min read
Topk Elements in Java: Implementation Guide (2026)
11 min read
Fenwick Tree in Python: Step-by-Step Code & Testing (2026)
10 min read
Min Heap vs Max Heap: Comparison (2026)
10 min read
Segment Tree vs Fenwick Tree (BIT): Comparison (2026)
10 min read
Segment Tree vs Sparse Table: Comparison (2026)
10 min read
big o
Amortized Analysis in Python: Code & Examples (2026)
10 min read
Amortized Analysis Interview Questions (2026)
14 min read
Quadratic Time On2: Complete Guide & Examples (2026)
12 min read
Np Completeness in TypeScript: Typed Code (2026)
11 min read
Best Average Worst Case: Complete Guide & Examples (2026)
12 min read
Best Average Worst Case in TypeScript: Typed Code (2026)
11 min read
Best Average Worst Case Interview Questions (2026)
14 min read
dynamic programming
Longest Common Subsequence: Complete Guide & Examples (2026)
12 min read
Longest Common Subsequence Interview Questions (2026)
14 min read
Longest Increasing Subsequence: Complete Guide & Examples...
12 min read
Word Break in Python: Step-by-Step Code & Testing (2026)
10 min read
House Robber in Python: Step-by-Step Code & Testing (2026)
10 min read
Partition Equal Subset in Python: Code & Examples (2026)
10 min read
Partition Equal Subset in Java: Implementation Guide (2026)
11 min read
Egg Drop in Python: Code & Examples (2026)
10 min read
Longest Common Substring in Python: Code & Examples (2026)
10 min read
Longest Common Substring in Java: Implementation Guide (2...
11 min read
Wildcard Matching in TypeScript: Typed Code (2026)
11 min read
Regex Matching in Python: Code & Examples (2026)
10 min read
Regex Matching in TypeScript: Typed Code (2026)
11 min read
Regex Matching in Java: Implementation Guide (2026)
11 min read
Interleaving String in Python: Code & Examples (2026)
10 min read
Interleaving String in TypeScript: Typed Code (2026)
11 min read
Word Break in Python: Step-by-Step Code & Testing (2026)
10 min read
Egg Drop in Python: Code & Examples (2026)
10 min read
House Robber in Python: Step-by-Step Code & Testing (2026)
10 min read
0/1 Knapsack vs Coin Change: Comparison (2026)
10 min read
Word Break vs Palindrome Partitioning: Comparison (2026)
10 min read
recursion
Tail Recursion in Python: Code & Examples (2026)
10 min read
Tail Recursion in Java: Implementation Guide (2026)
11 min read
Combinations in Python: Step-by-Step Code & Testing (2026)
10 min read
Phone Letter Combinations: Complete Guide & Examples (2026)
12 min read
Rat In Maze in Python: Code & Examples (2026)
10 min read
graph algorithms
Union Find in Python: Code & Examples (2026)
10 min read
Tarjan Scc in Java: Implementation Guide (2026)
11 min read
Graph Cycle Detection in Java: Implementation Guide (2026)
11 min read
Flood Fill in Python: Code & Examples (2026)
10 min read
Topological Sort Dfs: Complete Guide & Examples (2026)
12 min read
Tarjan Scc in Java: Implementation Guide (2026)
11 min read
Kruskal Algorithm vs Prim Algorithm: Comparison (2026)
10 min read
Network Flow vs Bipartite Matching: Comparison (2026)
10 min read
greedy
Did You Get the Big O Right? NexusBro Will Tell You in Seconds.
Paste your algorithm. Get complexity analysis, edge cases, and optimizations.
Test My Algorithm