Algorithm Efficiency & Time Complexity Mastery Plan
WEEK 1: Big-O & Sorting Algorithms
Objectives:
- Understand time and space complexity (Big-O)
- Learn and implement sorting algorithms
- Analyze time complexity of different sorts
Study:
- Big-O Notation: O(1), O(log n), O(n), O(n log n), O(n), O(2)
- Merge Sort, Quick Sort, Heap Sort, Counting Sort
Practice:
- LeetCode: Sort an Array
- Implement merge sort and quick sort from scratch
- Determine time complexity for small Python functions
Goal: 510 problems
WEEK 2: Searching & Recursion/Backtracking
Objectives:
- Master binary search and search space techniques
- Learn backtracking structure and pruning
- Solve recursive problems effectively
Study:
- Binary Search, Search in Rotated Array, Peak Element
- Backtracking: Subsets, Permutations, N-Queens
Practice:
- LeetCode: Binary Search, Subsets, Letter Combinations
- Identify time complexity of recursive solutions
Algorithm Efficiency & Time Complexity Mastery Plan
Goal: 10 problems
WEEK 3: Sliding Window & Two Pointers
Objectives:
- Optimize nested loops to linear time using windowing
- Solve substring, array, and trapping water problems
Study:
- Fixed/variable sliding window, left-right pointers
Practice:
- LeetCode: Longest Substring Without Repeating Characters
- Minimum Window Substring, Trapping Rain Water
Goal: 10 problems
WEEK 4: Dynamic Programming (DP)
Objectives:
- Transition from brute-force recursion to DP
- Solve overlapping subproblem problems efficiently
Study:
- Fibonacci, LIS, LCS, Knapsack, Matrix DP
Practice:
- LeetCode: House Robber, Coin Change, Unique Paths
- Practice tabulation and memoization approaches
Goal: 1015 problems
WEEK 5: Greedy & Graph Basics
Objectives:
Algorithm Efficiency & Time Complexity Mastery Plan
- Use greedy strategy where local optimum = global optimum
- Learn BFS/DFS, connected components
Study:
- Activity Selection, Jump Game
- BFS/DFS for Matrix and Adjacency Lists
Practice:
- LeetCode: Jump Game, Merge Intervals, Number of Islands
- Implement BFS/DFS on graphs
Goal: 10 problems
WEEK 6: Advanced Graphs, Bit Manipulation, Tries
Objectives:
- Solve shortest path, Union-Find, and Trie problems
- Master bit-level problem-solving
Study:
- Dijkstras, Union-Find, Bitmask DP, Prefix Sum, Tries
Practice:
- LeetCode: Course Schedule, Maximum XOR, Single Number
Goal: 1015 problems