DSA technical self-study reference
Topics: Complexity Analysis, Big-O/Theta/Omega, Space, and Amortized Reasoning
Topics: Arrays, Dynamic Arrays, Strings, Matrices, and Memory Locality
Topics: Hash Tables, Maps, Sets, Frequency Counting, and Collision Reasoning
Topics: Two Pointers, Sliding Window, Prefix Sums, Difference Arrays, and Running State
Topics: Linked Lists: Singly, Doubly, Sentinel Nodes, Reversal, and Pointer Invariants
Topics: Stacks, Queues, Deques, Circular Buffers, and Expression Processing
Topics: Recursion, Call Stacks, Divide and Conquer, and Recurrence Reasoning
Topics: Binary Search and Monotonic Search Spaces
Topics: Elementary Sorting: Selection, Bubble, Insertion, Stability, and Invariants
Topics: Merge Sort, Quick Sort, Heap Sort, and Hybrid Trade-Offs
Topics: Trees, Terminology, Traversals, Height, Depth, and Recursive/Iterative DFS
Topics: Binary Search Trees, Balanced Trees, AVL/Red-Black Concepts, and Ordered Sets
Topics: Heaps and Priority Queues
Topics: Tries, Prefix Trees, Radix Ideas, and String-Key Search
Topics: Graph Representation, BFS, DFS, Components, and Cycle Detection
Topics: Topological Sorting, DAGs, Dependencies, and Strongly Connected Components
Topics: Shortest Paths I: Unweighted BFS and Dijkstra
Topics: Shortest Paths II: Bellman-Ford, Floyd-Warshall, 0-1 BFS, and DAG Paths
Topics: Minimum Spanning Trees: Kruskal, Prim, Cut Property, and Use Cases
Topics: Disjoint Set Union: Union-Find, Path Compression, Rank, and Connectivity
Topics: Greedy Algorithms: Exchange Arguments, Interval Scheduling, and Local Choices
Topics: Backtracking: Decision Trees, Pruning, Permutations, Combinations, and Constraint Search
Topics: Dynamic Programming I: State, Recurrence, Memoization, and Tabulation
Topics: Dynamic Programming II: Knapsack, Subsequences, Grids, and State Compression
Topics: Bit Manipulation, Bitmasks, XOR, Subsets, and Integer Caveats
Topics: Mathematics for DSA: GCD, Primes, Modular Arithmetic, Combinatorics, and Overflow
Topics: Monotonic Stacks and Monotonic Queues
Topics: Intervals, Sorting by Endpoints, Sweep Line, and Event Processing
Topics: Fenwick Trees, Segment Trees, Sparse Tables, and Range Query Design
Topics: String Matching: Naive Search, KMP, Prefix Function, Z, and Rabin-Karp
Topics: Selection, Quickselect, Reservoir Sampling, and Randomized Algorithms
Topics: Problem-Solving Patterns: Invariants, Constraints, Reduction, and Counterexamples
Topics: Timed DSA Checkpoint: Unseen Problems, Communication, and Review