Master every essential data structure and algorithm, from arrays to dynamic programming.
Understand time and space complexity, Big-O notation, and how to analyze algorithm efficiency
Master arrays and string manipulation patterns: two-pointer, sliding window, and prefix sums
Master binary search patterns: classic search, search in rotated arrays, and binary search on answer
Implement and manipulate singly and doubly linked lists, solve classic pointer manipulation problems
Implement stacks and queues, learn monotonic stacks, deque patterns, and BFS/DFS applications
Build and traverse binary trees, implement BSTs, heaps, and solve tree problems with recursion and BFS
Implement and analyze all major sorting algorithms: bubble, merge, quick, heap, counting, and radix sort
Understand hash tables, collision resolution, and solve problems using sets and dictionaries efficiently
Represent and traverse graphs using BFS and DFS, implement Dijkstra, Bellman-Ford, and union-find
Master dynamic programming with memoization and tabulation, solve classic DP problems from 1D to 2D
Solve optimization problems with greedy strategies: interval scheduling, minimum spanning trees, and classic greedy patterns