It’s been a couple of years since I’ve started learning Data Structures And Algorithms. When I look back on my journey, it gives me mixed feelings. I laugh when I realize how silly I was; it makes me sad when I regret the amount of time I’ve wasted doing sh*t; I blame my luck for not getting these resources when I started learning DSA, and so on. But I must confess that having a good understanding of data structures and algorithms has made me a much better programmer/problem-solver than I was before. My mental stamina, reasoning capability, and deep knowledge of various programming languages have increased significantly. As software developers/engineers, we should have this kind of foundation to thrive in this ever-evolving landscape of the software industry. So, what’s pulling you back from wrapping your head around the mighty DSA? Let’s go.
In the following walk, I’m going to share with you all the resources and strategies that I’ve been using to this day, including some additional resources that I’ve not used often but look good to me.
YouTube channels
Whether you are a self-taught or formal student, our go-to platform for learning from video content is YouTube. I’ve picked the four best channels for mastering Data Structures And Algorithms. I’m following three of them regularly.
1. takeUforward
Whenever people ask me for the best free resource on DSA, I tell them to search “takeUforward” on YouTube and Google. And then explore their channel and website. Because I think it’s a one-stop location for everything you need to know about DSA and a bunch of software development-related resources that will cost you 0 bucks now. I’ve covered almost every playlist on YouTube they have published about Data Structures and Algorithms And I can assure you about the content quality and teaching style. It’s top-notch. If you are curious about the man behind this gold mine, this is “Raj Vikramaditya” (SWE-III @Google | Founder takeUforward). I don’t wanna talk much and waste your time; go and thank me later.
channel link: takeUforward
2. NeetCode/NeetCodeIO
I practice DSA on LeetCode, and every time I get stuck in a problem, I first search on his channel for a video editorial before going anywhere. This dude (the channel owner) has some magical ability to make complex problems easier to understand. At first, he explains the problem in his own way, which is very important, and then draws the solution before writing the code. He has two channels: “NeetCode” and "NeetCodeIO," which are similar. The second may be for backup. There, he makes videos about LeetCode problems and other software-related things. I recommend you look at his channels, especially if you plan to grind LeetCode.
channel link: NeetCode
channel link: NeetCodeIO
3. Abdul Bari
Those who know this gentleman will agree that “he is a DSA savant.” He teaches CS things on his YouTube channel for free. He also has one of the best-selling courses on DSA on platforms like Udemy. I didn’t find any reason not to include his name in this list. His ability to illustrate things on the whiteboard and easily explain complex things step-by-step makes him the best teacher in the online arena. Go and take a sip of his content, and let me know the taste.
channel link: Abdul bari
4. Neso Academy
I found them pretty good for learning computer science lessons for free online. Though I have followed them infrequently, their popularity and reputation show the quality of their work. They have content about data structures, the design and analysis of algorithms, operating systems, computer networks, database management systems, and many more.
channel link: Neso Academy
Websites/blogs:
If you prefer reading over watching videos, then the following resources are dedicated to you: Don’t get me wrong; these are going to be crucial for all of you.
1. LeetCode
Learning by doing is considered one of the most effective ways to master anything. So, if you wanna master DSA by solving DSA-oriented problems, then I can vouch that LeetCode is the best platform out there for you. For the last 400+ days, I’ve consistently solved coding problems on this platform to increase my problem-solving capability and DSA knowledge. Their website's UI, UX, and problem quality are top-notch. In the beginning, get some theoretical knowledge about a specific data structure or algorithm, then solve the problem related to the data structure or algorithm you’ve read. Getting stuck on a problem? See the hints they have given? Still stuck? See the editorial they’ve written on the editorial page. In case the editorial is only for premium users, check out the solution tab. There, you will find different solutions in various languages written by people like you. They also offer a bunch of things, like study plans, courses, and a store (where you can buy things using coins you’ve earned). Overall, I believe it's an excellent platform for mastering data structures and algorithms.
link: LeetCode
2. GeeksforGeeks
This is one of my favorite platforms for learning CS topics, especially DSA. They have covered tutorials on various programming languages, data science, web technology, and DSA. Whenever I need a theoretical explanation of any data structure or algorithm, my first go-to location is GFG. Their explicit explanation of each topic gives me feelings of fulfillment, eventually uplifting my confidence in my theoretical understanding. They also have a wide range of DSA-based problem sets, which you can solve to practice on their online judge. Also, you can filter by varieties of tags like hard, medium, easy, specific company, and so on. Overall, GFG is one of the best platforms for having a huge amount of organized resources.
link: GeeksforGeeks
3. w3schools
W3schools is a well-known platform for learning web development with extensive organized tutorials on various web development technologies. “Data structure and algorithm” is one of the latest inclusions on the list. I'm considering this platform because the people behind it explain and demonstrate concepts most straightforwardly, making them easy to understand. If you are a beginner or looking for some easy explanations of some of the well-known DSA, W3schools is a pretty good platform that I can suggest to you now.
link: w3schools
4. Programiz
Programiz has a complete series of beginner-friendly DSA tutorials along with suitable examples. Their in-depth visual explanation articulates the whole picture of the lesson. Having a list of organized lessons on commonly used data structures and algorithms makes them great resources to have on the list.
link: Programiz
Books:
If you prefer learning from books, I recommend two books that will help you understand all the major data structure and algorithm (DSA) concepts. (They will cost you a few bucks.)
1. Grokking Algorithms: An illustrated guide for programmers and other curious people, by Aditya Bhargava
shope: amazon
2. Introduction to Algorithms, by Thomas H. Cormen (Author), Charles E. Leiserson (Author), Ronald L. Rivest (Author), and Clifford Stein (Author)
shope: amazon
Nowadays, lack of resources is not the problem, but lack of determination, persistence, consistency, and not knowing what you don’t know is. Everything is one click away from you. So what are you waiting for, my mate? I’ve tried to accumulate all the resources I’ve used to grasp data structures and algorithms so that you can get another organized list of resources. I would be glad if this helped even a single person who strives to learn DSA. Please let me know if you find this helpful.
Top comments (0)