resources

This repo is a one stop destination to find resources for learning various domains. You can find the roadmap for any domain here.

View on GitHub

DSA


Data Structure is a way of collecting and organising data in such a way that we can perform operations on these data in an effective way. Data Structures is about rendering data elements in terms of some relationship, for better organization and storage. And algorithm is a set of steps used for accomplishing a particular task.

:pushpin: Topics to Cover for Data Structures :books:

S.No. Topic Finished
1. Array <ul> <li> [ ] </li> </ul>
2. Stack <ul> <li> [ ] </li> </ul>
3. Queues <ul> <li> [ ] </li> </ul>
4. Linked Lists <ul> <li> [ ] </li> </ul>
5. Collections <ul> <li> [ ] </li> </ul>
6. Hash Tables <ul> <li> [ ] </li> </ul>
7. Recursion <ul> <li> [ ] </li> </ul>
8. Basic Trees & Graphs <ul> <li> [ ] </li> </ul>
9. Segment Trees & Fenwick Trees <ul> <li> [ ] </li> </ul>
10. Heap <ul> <li> [ ] </li> </ul>
11. Disjoint Set Union <ul> <li> [ ] </li> </ul>
12. Persistent Data Structures <ul> <li> [ ] </li> </ul>
13. Trie <ul> <li> [ ] </li> </ul>
14. Self-Balancing Trees <ul> <li> [ ] </li> </ul>
15. n-ary Trees <ul> <li> [ ] </li> </ul>
16. Multi dimensional Trees <ul> <li> [ ] </li> </ul>

:pushpin: Topics to Cover for Algorithms :books:

S.No. Topic Finished
1. Algorithm Complexity Analysis <ul> <li> [ ] </li> </ul>
2. Sorting Algorithms <ul> <li> [ ] </li> </ul>
3. Searching Algorithms <ul> <li> [ ] </li> </ul>
4. Recursion <ul> <li> [ ] </li> </ul>
5. Greedy Algorithms <ul> <li> [ ] </li> </ul>
6. Prefix and Suffix <ul> <li> [ ] </li> </ul>
7. Hashing <ul> <li> [ ] </li> </ul>
8. Divide and Conquer <ul> <li> [ ] </li> </ul>
9. Primality Tests <ul> <li> [ ] </li> </ul>
10. Sieve of Eratosthenes <ul> <li> [ ] </li> </ul>
11. Segmented Sieve of Eratosthenes <ul> <li> [ ] </li> </ul>
12. Modular Arithmetics <ul> <li> [ ] </li> </ul>
13. Basic Dynamic Programming <ul> <li> [ ] </li> </ul>
14. Graph Algorithms <ul> <li> [ ] </li> </ul>
15. Shortest Distance Algorithms <ul> <li> [ ] </li> </ul>
16. Advanced String Matching <ul> <li> [ ] </li> </ul>
17. Decomposition Techniques <ul> <li> [ ] </li> </ul>
18. Game Theory <ul> <li> [ ] </li> </ul>
19. NP Completeness <ul> <li> [ ] </li> </ul>
20. Approximation Algorithms <ul> <li> [ ] </li> </ul>
21. Linear Programming <ul> <li> [ ] </li> </ul>
22. Computational Geometry <ul> <li> [ ] </li> </ul>
23. Advanced Dynamic Programming <ul> <li> [ ] </li> </ul>
24. Flow Algorithms <ul> <li> [ ] </li> </ul>
25. Generating Functions <ul> <li> [ ] </li> </ul>
26. Fast Fourier Transforms <ul> <li> [ ] </li> </ul>

:pushpin: Resources


:pushpin: Online Practice Platforms


We hope you now know the roadmap to become good at Data Structures and Algorithms :v:. Have a look at our Beginners Guide for Competitive Coding and start competing in Online Contests.