Day 1-2: Introduction to DSA, Time and Space Complexity Topics: Big O notation, Omega, Theta, Time complexity of algorithms Practice: Simple examples to understand complexity
Day 3-4: Arrays and Strings Topics: Operations on arrays, Multi-dimensional arrays, String manipulation Practice: Problems on arrays and strings (e.g., reverse a string, subarray with given sum)
Day 5-6: Linked Lists Topics: Singly linked list, Doubly linked list, Circular linked list Practice: Implement linked lists and basic operations (insert, delete, search)
Day 7: Recursion Topics: Basics of recursion, Recursion vs iteration Practice: Problems like factorial, Fibonacci series, Tower of Hanoi
Day 8-10: Stacks and Queues Topics: Stack operations, Queue operations, Applications Practice: Problems like balanced parentheses, implement stack/queue using arrays and linked lists
Day 11-13: Trees Topics: Binary Trees, Binary Search Trees, Tree traversal (in-order, pre-order, post-order) Practice: Problems on tree traversal, insert and delete in BST
Day 14: Heaps Topics: Min-heap, Max-heap, Heap operations Practice: Implement heap and solve problems like heap sort
Day 15-17: Graphs Topics: Graph representation (adjacency list, adjacency matrix), BFS, DFS Practice: Problems like connected components, cycle detection, shortest path (BFS)
Day 18-19: Hashing Topics: Hash tables, Hash functions, Collision resolution techniques Practice: Implement hash table and solve problems like anagram check, frequency count
Day 20-21: More Graph Algorithms Topics: Dijkstra’s Algorithm, Floyd-Warshall Algorithm, Kruskal’s and Prim’s Algorithm Practice: Shortest path problems, MST problems
Day 22-24: Dynamic Programming (DP) Topics: Introduction to DP, Memoization, Tabulation Practice: Problems like knapsack, coin change, longest common subsequence
Day 25-27: Advanced Topics Topics: Tries, Segment Trees, Fenwick Trees Practice: Problems involving these data structures
Day 28: Review and Consolidation Review: Revise all topics, focus on weak areas Practice: Mixed problems from all topics covered
Day 1-3: Arrays and Strings Practice: Medium to hard problems on arrays and strings
Day 4-6: Linked Lists, Stacks, and Queues Practice: Medium to hard problems
Day 7: Recursion and Backtracking Practice: Problems like N-Queens, Sudoku Solver
Day 8-10: Trees and Graphs Practice: Hard problems on trees and graphs
Day 11-12: Heaps and Hashing Practice: Complex problems involving heaps and hash tables
Day 13-14: Miscellaneous Practice: Problems on tries, segment trees, and other advanced topics
Day 15-17: Dynamic Programming Practice: Hard DP problems
Day 18-20: Mock Interviews Practice: Participate in mock interviews, simulate interview environment
Day 21: Review and Refine Review: Analyze performance in mock interviews, identify and work on weak areas
Day 22-24: Comprehensive Revision Review: Go through all key concepts and frequently asked problems Practice: Mixed problems
Day 25-27: More Mock Interviews Practice: Participate in more mock interviews, focus on improving soft skills
Day 28: Final Preparation Review: Last-minute revision, go through notes and key formulas
Tips for Success
Daily Practice: Spend at least 4-6 hours daily on learning and practicing. Use Online Resources: Platforms like LeetCode, GeeksforGeeks, HackerRank for practice problems
Join Study Groups: Collaborate with peers to discuss problems and solutions. Mock Interviews: Utilize platforms like Pramp or interviewing.io for realistic interview practice. Stay Consistent: Maintain a consistent study schedule and take short breaks to avoid burnout.
git init
git clone https://github.com/Shiro005/dataStructures.git
cd dataStructures
code .
~Shriyash R. 🦇