Data Structures & Algorithms
From foundational structures to optimized problem solving patterns.
Data Structures
"What exists?" Basics, Linear, Trees, Graphs, and Hash-based structures.
Algorithms
"How do we process?" Sorting, Searching, DP, Greedy, and Recursion patterns.
Problem Solving
"How do I practice?" Categorized by pattern, difficulty, and platform metadata.
Resources
Sheets, blogs, video playlists, and interview preparation strategies.
Data Structure Concepts
Pure foundations. Understanding storage and complexity.
Basics & Foundations
ADT, Time & Space Complexity (Big-O), Recursive vs Iterative, Best/Avg/Worst Cases.
Linear Data Structures
Arrays, Strings, Linked Lists (Singly/Doubly/Circular), Stacks, Queues & Deques.
Hash-Based Structures
Hash Tables, Functions, Collision Handling (Chaining/Open Addressing), Maps & Sets.
Non-Linear Data Structures
Trees, BST, AVL, Heaps (Min/Max), Segment Trees, Fenwick Trees, Tries.
Graph Data Structures
Adj Matrix/List, Directed vs Undirected, Weighted, Cyclic, DAG, Bipartite Graphs.
Advanced Structures
Disjoint Set Union (DSU), Sparse Tables, Skip List, LRU Cache, Bloom Filter.
Algorithms
Processing data through recognized patterns.
Searching Algos
Linear, Binary, Binary on Answer, and Ternary Search.
Sorting Algos
Bubble, Merge, Quick, Heap, Radix, Bucket Sort, and Stability.
Two Pointers
Opposite Direction, Same Direction, Fast & Slow Pointers.
Sliding Window
Fixed/Variable Window and Window with Frequency Count.
Recursion & Backtracking
Stack Analysis, Subsets, N-Queens, and Sudoku Solver.
Divide & Conquer
Merge Sort, Quick Sort, and Binary Search Variants.
Greedy Algos
Activity Selection, Huffman Encoding, and Job Sequencing.
Dynamic Programming
1D/2D DP, Knapsack, LIS, LCS, MCM, Trees, Grids, and Bitmask.
Graph Algos
BFS/DFS, Dijkstra, MST (Prim/Kruskal), SCC, and Bridges.
String Algos
KMP, Rabin-Karp, Z-Algo, and Trie-Based Searching.
Bit Manipulation
XOR, Set/Clear Bits, Power of Two, and Subsets.
Practice Problems
A step-by-step roadmap from Arrays to DP.
Arrays
Easy → Med → Hard. The base of almost everything.
Strings
Basic & Medium. Specialized arrays; solve immediately after arrays.
Recursion
PatternWise. Mandatory before trees, backtracking, and DP.
Bit Manipulation
Concepts & Problems. Needs recursion + math thinking.
Binary Search
1D, 2D Arrays & Search Space. Relies on array + recursion mindset.
Window & 2-Pointer
Combined Problems. Built on arrays + binary search intuition.
Stack & Queues
Monotonic Stack & Implementation. Introduces vital logic.
Linked List
Single & Double LL. Pointer logic follows stack/queues best.
Greedy Algos
Easy/Med/Hard. Decision-making based on intuition & sorting.
Heaps
Works best after greedy; many problems are greedy + heap combos.
Binary Trees
Traversals & Problems. Requires recursion + stack comfort.
BST
Concept & Problems. Special case; never do BST before BT.
Tries
Advanced structure. Needs recursion + bit/string understanding.
Graphs
Concepts & Problems. DFS/BFS relies on recursion & stacks.
Dynamic Programming
Patterns & Problems. The Final Boss; requires full mindset.
Resources
Sheets, blogs, and roadmaps.
Don't memorize the code.
Memorize the pattern.