Skip to content

Shiro005/dataStructures

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Month 1: Learning DSA Concepts

Week 1: Introduction and Basic Data Structures

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

Week 2: Advanced Data Structures

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

Week 3: Graphs and Hashing

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

Week 4: Dynamic Programming and Miscellaneous

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

Month 2: Problem-Solving and Mock Interviews

Week 1: Problem-Solving Practice

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

Week 2: Advanced Data Structures

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

Week 3: Dynamic Programming and Mock Interviews

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

Week 4: Intensive Revision and Mock Interviews

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.

Clone

git init
git clone https://github.com/Shiro005/dataStructures.git
cd dataStructures
code . 

Happy Coding 😊

~Shriyash R. 🦇

Releases

No releases published

Languages