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
- :movie_camera: MIT Course: Introduction to Algorithms (MIT OCW playlist-Youtube)
- :movie_camera: Mycodeschool: Data Structures (Youtube)
- MIT Lecture Notes on Data Structures
- Princeton University Lectures on Algorithms and Data Structures
- :closed_book: Introduction to Algorithms by Thomas H. Corman
- :closed_book: Algorithm in Nutshell(O’Reilly)
- :closed_book: Algorithms by Robert Sedgewick & Kevin Wayne
- VisuAlgo - Visualising DSA through animation.
- Algo Deck - Collection of +200 algorithmic cards.
- :page_with_curl: Big-O-CheatSheet - Big-O complexities of common algorithms.
- Codechef’s topic-wise problems
- Site for all algorithms
- Introdution to algorithms(Abdul Bari)
: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.