From Big-O complexity to Arrays, Trees, Graphs, Sorting, and Dynamic Programming.
Master foundational and advanced computer science algorithms: Asymptotic Big-O analysis, Arrays, Linked Lists, Stacks, Queues, Hash Tables, Binary Search Trees (BST), Heaps, Graphs (BFS/DFS, Dijkstra), Sorting algorithms, and Dynamic Programming.
Time complexity, space complexity, Big-O classes, and asymptotic growth.
Dynamic array amortization, two pointers technique, and sliding window algorithms.
Node pointers, traversal, in-place list reversal, and Floyd's cycle detection algorithm.
LIFO Stacks, FIFO Queues, monotonic stacks, and circular queue buffers.
Hash functions, collision resolution (chaining vs open addressing), and load factor resizing.
Base cases, recursive call stacks, tail call optimization, and backtracking algorithms (N-Queens).
Tree traversals (Pre/In/Post/Level-order), BST search/insert/delete, and balanced AVL trees.
Min-Heaps, Max-Heaps, binary heap array representation, Heapify, and Heap Sort.
Adjacency list vs adjacency matrix, Breadth-First Search (BFS), and Depth-First Search (DFS).
Dijkstra's shortest path algorithm with priority queues, Bellman-Ford, and Union-Find (Disjoint Set).
Overlapping subproblems, optimal substructure, top-down memoization, bottom-up tabulation, and knapsack.
Master modern memory hierarchy algorithms: Cache-Conscious Trees, B-Tree and B+ Tree node layout, and reducing L1/L2 CPU cache misses.
Master compressed data structures: Roaring Bitmaps, Bitsets, Rank/Select operations, and Succinct Wavelet Trees.
Master lockless algorithm design: Treiber Stack, Michael-Scott Lock-Free Queue, Compare-And-Swap (CAS), and the ABA problem.
Master Maximum Network Flow algorithms: Residual Graphs, Augmenting Paths, Dinic's blocking flow algorithm, and Hopcroft-Karp Bipartite Matching.
Master streaming probabilistic algorithms: HyperLogLog (HLL) cardinality estimation, Count-Min Sketch frequency, and Bloom/Cuckoo Filters.