Detailed Algorithm Learning Path
Detailed Algorithm Learning Path
=====================================================================
📘 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
📘 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
🎯 Goal: 10 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
📘 Study:
- Fibonacci, LIS, LCS, Knapsack, Matrix DP
🧠 Practice:
- LeetCode: House Robber, Coin Change, Unique Paths
- Practice tabulation and memoization approaches
📘 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
📘 Study:
- Dijkstra’s, Union-Find, Bitmask DP, Prefix Sum, Tries
🧠 Practice:
- LeetCode: Course Schedule, Maximum XOR, Single Number