Sadashiva84 / 100_DSA_Problems_in_100_Days

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

100_DSA_Problems_in_100_Days

1. Arrays and Strings

2. Linked Lists

3. Stacks and Queues

4. Trees and Graphs

5. Hashing

6. Sorting and Searching

7. Dynamic Programming

8. Backtracking

10. Greedy Algorithms

11. Advanced Data Structures

How to Approach the 100-Day Challenge:

Weeks 1-2: Focus on basic data structures (arrays, linked lists, stacks, and queues). Understand their implementations, operations, and applications. Start with simple problems.
Weeks 3-4: Move on to trees and graphs. Learn about binary trees, binary search trees, graph representations, and basic graph algorithms (DFS, BFS).
Weeks 5-6: Dive into sorting and searching algorithms. Understand different sorting techniques and their complexities. Practice binary search problems.
Weeks 7-8: Explore more complex data structures like heaps, tries, and hash tables. Solve problems that require these data structures.
Weeks 9-10: Begin studying dynamic programming. Start with basic problems and gradually move to more complex ones.
Weeks 11-12: Cover greedy algorithms, backtracking, and advanced topics in dynamic programming.
Weeks 13-14: Revisit all data structures and algorithms, focusing on areas of weakness. Solve complex and mixed problems.
Final Days: Take mock interviews, solve problems under timed conditions, and refine your problem-solving strategies.

Tips for Success:

Practice Daily: Aim for at least 1-2 new problems each day and revisit previous ones to reinforce concepts.
Understand, Don't Memorize: Focus on understanding the logic behind algorithms and data structures instead of memorization.
Peer Learning: Engage with a community or find a study partner to discuss problems and solutions.
Review and Reflect: Regularly review your progress, identify weak areas, and adjust your learning plan accordingly.

About