Month 1: Linked List
- [ ] Singly Linked List:
- [ ] Basics (Insert, Delete, Reverse)
- [ ] Detect Loop (Floyd’s Cycle Detection)
- [ ] Doubly Linked List:
- [ ] Insert, Delete, Reverse
- [ ] Advanced Problems:
- [ ] Merge Two Sorted Linked Lists
- [ ] Intersection of Two Linked Lists
- [ ] LRU Cache Implementation
Month 2: Stacks and Queues
- [ ] Stack:
- [ ] Basics (Push, Pop, Min Stack)
- [ ] Reverse a String using Stack
- [ ] Balanced Parentheses
- [ ] Queue:
- [ ] Basics (Enqueue, Dequeue)
- [ ] Circular Queue
- [ ] Implement Queue using Stacks
- [ ] Problems:
- [ ] Next Greater Element
- [ ] Sliding Window Maximum
- [ ] Evaluate Postfix/Prefix Expressions
Month 3: Recursion and Backtracking
- [ ] Basic Recursive Problems:
- [ ] Tower of Hanoi
- [ ] Subsets Generation
- [ ] Backtracking:
- [ ] N-Queens Problem
- [ ] Rat in a Maze
- [ ] Sudoku Solver
- [ ] Word Search
Month 4: Trees
- [ ] Binary Trees:
- [ ] Basics (Traversal: Inorder, Preorder, Postorder)
- [ ] Maximum Depth
- [ ] Diameter of a Tree
- [ ] Binary Search Tree (BST):
- [ ] Insert, Delete, Search
- [ ] Validate BST
- [ ] Lowest Common Ancestor
- [ ] Advanced:
- [ ] Morris Traversal (Inorder Without Recursion)
- [ ] Serialize and Deserialize a Tree
- [ ] Flatten Binary Tree to Linked List
Month 5: Heaps and Priority Queues
- [ ] Basics:
- [ ] Min-Heap and Max-Heap
- [ ] Heapify Algorithm
- [ ] Problems:
- [ ] Kth Largest/Smallest Element
- [ ] Merge K Sorted Arrays
- [ ] Top K Frequent Elements
- [ ] Advanced:
- [ ] Sliding Window Median
- [ ] Median in a Stream of Integers
Month 6: Graphs - Part 1