DSA Track

DSA Tutorials

Data structures and algorithms — arrays, trees, graphs, dynamic programming and more.

185
Topics
31
Beginner
90
Intermediate
64
Advanced
📋 Complete DSA Guide — all 185 topics →
Arrays & Strings
Array Data Structure Beginner Two Pointer Technique Intermediate Sliding Window Technique Intermediate Prefix Sum Array Intermediate Kadane's Algorithm Intermediate Dutch National Flag Algorithm Intermediate String Manipulation Patterns Intermediate Anagram and Palindrome Problems Beginner Matrix Traversal Patterns Intermediate Rotate Array Problem Intermediate Merge Intervals Problem Intermediate Next Permutation Algorithm Advanced Maximum Product Subarray Intermediate
Linked List
Singly Linked List Beginner Doubly Linked List Intermediate Circular Linked List Intermediate Reverse a Linked List Intermediate Detect Loop in Linked List Intermediate Merge Two Sorted Linked Lists Intermediate Find Middle of Linked List Beginner Remove Nth Node from End Intermediate LRU Cache Implementation Advanced Clone a Linked List with Random Pointers Advanced
Stack & Queue
Stack Data Structure Beginner Queue Data Structure Beginner Priority Queue and Heap Intermediate Deque — Double Ended Queue Intermediate Monotonic Stack Pattern Advanced Balanced Parentheses Problem Beginner Next Greater Element Problem Intermediate Implement Stack using Queue Intermediate Stack vs Heap Memory: What Every Developer Must Know Intermediate Monotonic Stack: Pattern, Use Cases and Coding Examples Intermediate
Trees
Binary Tree Intermediate Binary Search Tree Intermediate Tree Traversals — Inorder Preorder Postorder Intermediate Level Order Traversal of Binary Tree Intermediate Height and Depth of Binary Tree Beginner AVL Tree Advanced Red-Black Tree Advanced Segment Tree Advanced Fenwick Tree — Binary Indexed Tree Advanced Trie Data Structure Advanced Lowest Common Ancestor Advanced Diameter of Binary Tree Intermediate Convert BST to Sorted Array Intermediate Serialize and Deserialize Binary Tree Advanced Morris Traversal of Binary Tree Advanced
Graphs
Graph Representation Intermediate BFS — Breadth First Search Intermediate DFS — Depth First Search Intermediate Dijkstra Shortest Path Algorithm Advanced Bellman-Ford Algorithm Advanced Floyd-Warshall Algorithm Advanced Topological Sort Advanced Union Find — Disjoint Set Advanced Minimum Spanning Tree — Kruskal and Prim Advanced Cycle Detection in Graph Intermediate Bipartite Graph Check Intermediate Number of Islands Problem Intermediate Strongly Connected Components Advanced A* Search Algorithm Advanced Maximum Flow — Ford-Fulkerson and Edmonds-Karp Algorithm Advanced Eulerian Path and Circuit — Hierholzer's Algorithm Intermediate Articulation Points and Bridges in Graphs Advanced
Sorting
Bubble Sort Beginner Selection Sort Beginner Insertion Sort Beginner Merge Sort Intermediate Quick Sort Intermediate Heap Sort Intermediate Counting Sort and Radix Sort Intermediate Sorting Algorithm Comparison Beginner
Searching
Binary Search Algorithm Beginner Binary Search on Answer Advanced Linear Search Algorithm Beginner Ternary Search Algorithm Advanced Jump Search Algorithm Beginner Interpolation Search Algorithm Intermediate Exponential Search and Fibonacci Search Intermediate Bidirectional Search Algorithm Intermediate
Dynamic Programming
Introduction to Dynamic Programming Intermediate Memoization vs Tabulation Intermediate 0/1 Knapsack Problem Advanced Longest Common Subsequence Advanced Longest Increasing Subsequence Advanced Coin Change Problem Advanced Matrix Chain Multiplication Advanced Edit Distance Problem Advanced Rod Cutting Problem Advanced Fibonacci with DP Beginner Subset Sum Problem Advanced Egg Drop Problem Advanced Word Break Problem Advanced Palindrome Partitioning Advanced DP on Trees Advanced
Hashing
Hash Table and Hash Map Intermediate Hash Collisions and Resolution Intermediate Two Sum Problem using Hashing Beginner Group Anagrams Problem Intermediate Longest Consecutive Sequence Intermediate Rabin-Karp String Matching Advanced Cuckoo Hashing Advanced SHA-256 — Cryptographic Hash Function Intermediate MD5 Hash Algorithm Intermediate Universal Hashing and Perfect Hashing Advanced Hamming Code — Error Detection and Correction Intermediate
Greedy & Backtracking
Greedy Algorithm Introduction Intermediate Activity Selection Problem Intermediate Huffman Coding Advanced Backtracking Introduction Intermediate N-Queens Problem Advanced Sudoku Solver Advanced Rat in a Maze Problem Intermediate Permutations using Backtracking Advanced Fractional Knapsack Problem — Greedy Approach Intermediate Job Sequencing Problem with Deadlines Intermediate Huffman Encoding — Greedy Data Compression Intermediate Interval Scheduling and Meeting Rooms Problem Intermediate Gas Station Problem — Greedy Circular Tour Intermediate
Complexity Analysis
Big O Notation Explained Beginner Time Complexity Analysis Intermediate Space Complexity Analysis Intermediate Amortized Analysis Advanced Space Complexity: How to Analyze Memory Usage in Algorithms Intermediate Bubble Sort Time Complexity: Best, Average and Worst Case Beginner
Recursion
Introduction to Recursion Beginner Recursion vs Iteration Intermediate Tower of Hanoi Problem Intermediate Divide and Conquer Technique Intermediate Divide and Conquer — Strategy and Patterns Beginner Counting Inversions using Merge Sort Intermediate Closest Pair of Points — Divide and Conquer Advanced Strassen's Matrix Multiplication Algorithm Advanced Convex Hull — Graham Scan and Jarvis March Advanced
Strings
String Searching Algorithms Overview Beginner KMP Algorithm — Knuth-Morris-Pratt String Matching Intermediate Z-Algorithm for Pattern Matching Intermediate Boyer-Moore String Search Algorithm Intermediate Manacher's Algorithm — Longest Palindromic Substring Advanced Aho-Corasick Multi-Pattern String Matching Advanced Suffix Array — Construction and Applications Advanced Rolling Hash and Polynomial String Hashing Intermediate
Number Theory
Sieve of Eratosthenes — Prime Number Generation Beginner GCD and LCM — Euclidean Algorithm Beginner Prime Factorization and Divisors Intermediate Modular Arithmetic — ModExp, ModInverse, Fermat's Theorem Intermediate Chinese Remainder Theorem Advanced Composite Numbers: Factorization, Primality Testing and Cryptography Beginner
Scheduling
FCFS Scheduling — First Come First Served Beginner SJF Scheduling — Shortest Job First Beginner Round Robin Scheduling Algorithm Intermediate Priority Scheduling and Aging Intermediate
Data Compression
Run-Length Encoding — Lossless Compression Beginner LZ77 and LZ78 — Dictionary Compression Algorithms Intermediate Burrows-Wheeler Transform Advanced Arithmetic Coding — Beyond Huffman Advanced
Numerical Analysis
Newton-Raphson Method — Root Finding Intermediate Bisection Method — Numerical Root Finding Beginner Numerical Integration — Simpson's Rule and Trapezoidal Intermediate
Cryptography
Caesar Cipher — Substitution Encryption Beginner Vigenère Cipher — Polyalphabetic Encryption Intermediate RSA Algorithm — Public Key Cryptography Advanced Diffie-Hellman Key Exchange Advanced AES — Advanced Encryption Standard Advanced Elliptic Curve Cryptography — ECC Explained Advanced One-Time Pad — Perfect Secrecy Intermediate Digital Signatures — DSA and ECDSA Advanced Encryption Algorithms Explained: AES, RSA, DES and More Intermediate Public Key Infrastructure (PKI) Explained Intermediate
Geometry
Line Intersection and Orientation Intermediate Polygon Area — Shoelace Formula Intermediate Point in Polygon — Ray Casting Algorithm Intermediate Rotating Calipers — Diameter and Width Advanced
Linear Algebra
Matrix Operations — Addition, Multiplication, Transpose Beginner Gaussian Elimination — Solving Linear Systems Intermediate LU Decomposition Intermediate Eigenvalues and Eigenvectors Advanced Singular Value Decomposition — SVD Advanced
Genetic Algorithms
Genetic Algorithms — Evolution-Based Optimisation Intermediate Simulated Annealing — Probabilistic Optimisation Intermediate
Quantum Algorithms
Quantum Computing Fundamentals for Developers Intermediate Deutsch-Jozsa Algorithm Advanced Grover's Search Algorithm — Quantum Speedup Advanced Shor's Algorithm — Quantum Factoring Advanced