Skip to content

07subhadip/30-days-DSA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

30-Day Data Structures and Algorithms Mastery Plan

Welcome to the 30-Day DSA Mastery Plan! This roadmap is designed to help you master Data Structures and Algorithms and prepare for coding interviews. Follow this daily plan to build a solid foundation and tackle challenging problems.

Week 1: Foundations and Basic Data Structures

Day 1: Arrays - Basics

Day 2: Arrays - Advanced Techniques

Day 3: Strings - Basics and Manipulations

Day 4: Linked Lists - Basics

Day 5: Linked Lists - Advanced

Day 6: Stacks - Basics

Day 7: Queues - Basics

Week 2: Advanced Data Structures

Day 8: Trees - Basics

Day 9: Trees - Advanced

Day 10: Heaps - Basics

Day 11: Heaps - Advanced

Day 12: Hash Tables - Basics

Day 13: Hash Tables - Advanced

Day 14: Review

  • Activities:
    • Review and revisit challenging problems from Week 1 and Week 2

Week 3: Algorithms

Day 15: Sorting - Basics

Day 16: Sorting - Advanced

Day 17: Searching - Basics

Day 18: Recursion - Basics

Day 19: Recursion - Advanced

Day 20: Divide and Conquer - Basics

Day 21: Review

  • Activities:
    • Review and revisit challenging problems from Week 3

Week 4: Graphs and Dynamic Programming

Day 22: Graphs - Basics

Day 23: Graphs - Advanced

Day 24: Dynamic Programming - Basics

Day 25: Dynamic Programming - Advanced

Day 26: Advanced Topics - Basics

Day 27: Advanced Topics - Advanced

Day 28: Review

  • Activities:
    • Review and revisit challenging problems from Week 4

Week 5: Review and Mock Interviews

Day 29: Review and Weakness Analysis

  • Activities:
    • Review topics and problems you found challenging
    • Revisit and practice weak areas

Day 30: Mock Interviews and Practice

  • Activities:
    • Conduct mock interviews with a friend or use online platforms
    • Focus on communication and explaining your thought process

Additional Resources

Happy coding and good luck with your interview preparation!


⭐ Star This Repository

If you find this repository helpful, please consider giving it a ⭐ star. Your support helps encourage the improvement of this course and makes it more visible to others who might benefit from it.

🍴 How to Fork This Repository

If you'd like to use this repository on your local machine, follow these steps to fork it:

  1. Fork the Repository:

    • Go to the GitHub page of the repository you want to fork.
    • Click the "Fork" button at the top right of the page.
  2. Clone Your Forked Repository:

    • After forking, you will have a copy of the repository in your GitHub account.
    • Copy the URL of your forked repository. You can find this by navigating to your forked repository on GitHub and clicking the green "Code" button, then copying the URL provided.

    Example URL: https://github.com/YOUR_USERNAME/YOUR_FORK.git

    • Open your terminal and clone your forked repository using the following command:

      git clone https://github.com/YOUR_USERNAME/YOUR_FORK.git
  3. Navigate into the Project Directory:

    • Change into the directory of your cloned repository:

      cd YOUR_FORK
  4. Add the Original Repository as a Remote:

    • It’s a good practice to add the original repository as a remote to keep your fork up-to-date with the latest changes.

      git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git

      Replace ORIGINAL_OWNER and ORIGINAL_REPOSITORY with the original repository's owner and name.

  5. Pull Latest Changes from the Original Repository:

    • Before making changes, ensure you have the latest updates from the original repository:

      git fetch upstream
      git checkout main
      git merge upstream/main
  6. Make Changes and Commit:

    • Create a new branch for your changes:

      git checkout -b your-branch-name
    • Make your changes and commit them:

      git add .
      git commit -m "Description of your changes"
  7. Push Your Changes:

    • Push your changes to your forked repository:

      git push origin your-branch-name
  8. Create a Pull Request:

    • Go to your forked repository on GitHub.
    • Click the "Compare & pull request" Fork Button button.
    • Provide a description of your changes and submit the pull request to the original repository.

Example Commands

Here's a summary of the commands you will use:

# Clone your forked repository
git clone https://github.com/YOUR_USERNAME/YOUR_FORK.git

# Navigate into the project directory
cd YOUR_FORK

# Add the original repository as a remote
git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git

# Fetch and merge changes from the original repository
git fetch upstream
git checkout main
git merge upstream/main

# Create a new branch, make changes, and commit
git checkout -b your-branch-name
git add .
git commit -m "Description of your changes"

# Push changes to your fork and create a pull request
git push origin your-branch-name

🚨 Warnings and Cautions

  • Be Respectful:

    • Follow the code of conduct and be respectful of other contributors.

  • Test Your Changes:

    • Ensure your changes are tested and do not break existing functionality.

  • Keep Your Fork Updated:

    • Regularly pull changes from the original repository to keep your fork up-to-date.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published