Study w/ Vaircode🌸📚💻✨
Study w/ Vaircode🌸📚💻✨
Week 1: Arrays, Strings, Linked Lists
- [ ] Day 1-2: Arrays
- [ ] Concepts: Basics of arrays, operations (insertion, deletion), dynamic arrays.
- [ ] Algorithms: Sorting: Quick Sort, Merge Sort.
- [ ] Practice Problems: Two Sum, Best Time to Buy and Sell Stock, Maximum Subarray.
- [ ] Day 3: Strings
- [ ] Concepts: String manipulation, common functions.
- [ ] Algorithms: String matching algorithms: KMP, Rabin-Karp.
- [ ] Practice Problems: Valid Anagram, Longest Substring Without Repeating Characters, Palindromic Substrings.
- [ ] Day 4-5: Linked Lists
- [ ] Concepts: Singly and doubly linked lists, common operations.
- [ ] Algorithms: Cycle detection: Floyd’s Tortoise and Hare.
- [ ] Practice Problems: Reverse Linked List, Merge Two Sorted Lists, Linked List Cycle.
- [ ] Day 6-7: Review & Practice
- [ ] Review Concepts: Arrays, Strings, Linked Lists.
- [ ] Practice Problems: Mix of previously covered topics.
- [ ] Additional Problems: Implement sorting and cycle detection algorithms.
Week 2: Stacks, Queues, Trees
- [ ] Day 8-9: Stacks
- [ ] Concepts: Stack operations, applications in recursion.
- [ ] Algorithms: Depth-first search (DFS) using stack.
- [ ] Practice Problems: Valid Parentheses, Min Stack, Evaluate Reverse Polish Notation.
- [ ] Day 10-11: Queues
- [ ] Concepts: Queue operations, circular queues.
- [ ] Algorithms: Breadth-first search (BFS) using queue.
- [ ] Practice Problems: Implement Queue using Stacks, Design Circular Queue, Sliding Window Maximum.
- [ ] Day 12-14: Trees
- [ ] Concepts: Binary trees, binary search trees, tree traversals (inorder, preorder, postorder).
- [ ] Algorithms: Tree traversal algorithms, DFS and BFS on trees.
- [ ] Practice Problems: Maximum Depth of Binary Tree, Validate Binary Search Tree, Binary Tree Level Order Traversal.
Week 3: Advanced Data Structures & Sorting Algorithms
- [ ] Day 15-16: Heaps & Priority Queues
- [ ] Concepts: Heap operations, priority queue implementations.
- [ ] **Algorithms:**Heapsort, Dijkstra’s algorithm.
- [ ] Practice Problems: Merge k Sorted Lists, Find Median from Data Stream, Top K Frequent Elements.
- [ ] Day 17-18: Hash Tables
- [ ] Concepts: Hash table operations, collision resolution techniques.
- [ ] Algorithms: Hashing functions, chaining and open addressing.
- [ ] Practice Problems: Two Sum, Group Anagrams, LRU Cache.
- [ ] Day 19-20: Graphs
- [ ] Concepts: Graph representations, adjacency list, adjacency matrix.
- [ ] Algorithms: BFS, DFS, Dijkstra's algorithm.
- [ ] Practice Problems: Number of Islands, Clone Graph, Course Schedule.
- [ ] Day 21: Sorting Algorithms
- [ ] Concepts: In-depth understanding of sorting algorithms.
- [ ] Algorithms: Quick Sort, Merge Sort, Heap Sort.
- [ ] Practice Problems: Sorting related problems.
Week 4: Algorithms & Problem Solving
- [ ] Day 22-23: Dynamic Programming
- [ ] Concepts: Principles of dynamic programming, memoization
- [ ] Algorithms: Knapsack problem, Fibonacci sequence
- [ ] Practice Problems: Climbing Stairs, Coin Change, Longest Increasing Subsequence
- [ ] Day 24-25: Greedy Algorithms
- [ ] Concepts: Greedy choice property, optimal substructure
- [ ] Algorithms: Interval scheduling, Huffman coding
- [ ] Practice Problems: Jump Game, Meeting Rooms, Partition Labels
- [ ] Day 26-27: Backtracking
- [ ] Concepts: Backtracking approach, constraint satisfaction problems
- [ ] Algorithms: N-Queens, Sudoku solver
- [ ] Practice Problems: Subsets, Permutations, Word Search
- [ ] Day 28-30: Comprehensive Practice & Mock Interviews
- [ ] Variety of problems combining different data structures and algorithms
- [ ] Simulate real interview conditions, solve problems within a time limit