Introduction
Data structures by themselves aren’t all that useful, but they’re indispensable when used in specific applications, like finding the shortest path between points in a map, or finding a name in a phone book with say, a billion elements (no, binary search just doesn’t cut it sometimes!). By Algosaurus
Choose a programming language
I would suggest C or C++ for learning data structures and algorithms. Building a strong foundation is important so choose a language that is close to the hardware. C and C++(not sure why some people hate c++ ) are the best choices for this. After you get a good grasp of data structures and algorithms, you can start preparing in more high-level languages like Python, Java, etc. As these languages are easier to implement in interviews.
For other langauges more resources can be found here (opens in a new tab) I would suggest getting decent in the lanagauge you choose before starting with data structures and algorithms.
You are free to make your own choices here.
Choose how to learn
- Video tutorials
- Problem Solving driven approach
Reasons
- Abdul Bari covers all the fundamental data structures and algorithms in such a way that you will never forget them. He explains the concepts in a very simple way . I would highly recommend his course.
- Striver's SDE sheet is all you need to learn data structures and algorithms. I would go further and say if already have know c or c++ just start here you won't regret it
- Neetcode is similar to Striver's SDE sheet but it has less problems than Striver's SDE sheet so you can choose between the two depending on the time you can allot . It is a great resource to learn data structures and algorithms.
Additional Links (will be in another section in the future)
- Data Structures and Algorithms Roadmap (opens in a new tab)
- Leetcode (opens in a new tab)
- GitHub - jwasham/coding-interview-university: A complete computer science study plan to become a software engineer. (opens in a new tab)
- TheAlgorithms-c++ (opens in a new tab)
- GitHub - youngyangyang04/leetcode-master: (opens in a new tab)
- GitHub - yangshun/tech-interview-handbook: 💯 Curated coding interview preparation materials for busy software engineers (opens in a new tab)
Books(will be in another section in the future)
- Cracking the Coding Interview: 189 Programming Questions and Solutions (opens in a new tab)
- Algorithms-JeffE.pdf (opens in a new tab)