/Datastructure-and-algorithms

Datastructures and algorithms Practice

Primary LanguageC++

The 1-month plan will cover the most essential topics, giving you broad exposure to common questions. The 3-month plan will deepen your understanding with more advanced topics and reinforce previous ones. The 6-month plan will aim for mastery, revisiting tricky concepts and refining problem-solving skills.


1-Month Plan (Goal: Cover key topics to be interview-ready)

Time Commitment: 1 hour daily, 7 days a week

Week 1: Arrays and Strings (High Priority)

Week 2: Linked Lists, Stacks, and Queues

Week 3: Hash Maps, Binary Search, and Sorting

Week 4: Introduction to Trees and Graphs

Now is a good time to study some of the patterns in the leet code questions and try to solve more advanced algorithm. You can start by targeting each pattern, doing 4-5 questions for each and then moving on to more complex problems once these patterns are covered.

https://hackernoon.com/14-patterns-to-ace-any-coding-interview-question-c5bb3357f6ed https://www.youtube.com/playlist?list=PL7g1jYj15RUOjoeZAJsWjwV8XUo9r0hwc https://www.youtube.com/watch?v=xo7XrRVxH8Y https://www.youtube.com/watch?v=DjYZk8nrXVY https://github.com/dipjul/Grokking-the-Coding-Interview-Patterns-for-Coding-Questions

Mock Interviews and Testing (During Week 4)

  • Day 5: Attempt one full-length mock interview on LeetCode, focusing on the problems covered so far.

3-Month Plan (Goal: Deepen understanding and refine skills)

Focus: Next 2 months; the first month is already completed.

Month 2 - Advanced Data Structures and Algorithms

Month 3 - Backtracking and Dynamic Programming (Advanced)

.com/problems/cheapest-flights-within-k-stops/)

  • Week 12: Review and Mock Interviews
    • Review all problems covered in the past two months.
    • Take 2-3 mock interviews focusing on the comprehensive set of topics.

6-Month Plan (Goal: Mastery and high performance)

Focus: Final 3 months, refining problem-solving skills and tackling advanced topics.

Month 4-5 - Refinement and Advanced Topics

  • Week 13-15: Deepen knowledge in graph algorithms (shortest paths, minimum spanning trees).
  • Week 16-17: Practice complex dynamic programming problems.
  • Week 18: Participate in coding contests on LeetCode to simulate pressure.

Month 6 - Mastery and Final Review

  • Review: Revisit the hardest problems you've encountered. Focus on weaknesses.
  • Mock Interviews: Conduct weekly mock interviews, simulating real pressure.