Best way to learn data structures and algorithms reddit

Press J to jump to the feed. Press question mark to learn the rest of the keyboard shortcuts

Found the internet!

Create an account to follow your favorite communities and start taking part in conversations.

Join Reddit

r/learnprogramming

Best way to learn data structures and algorithms reddit

Out of personal interest, I'd really like to learn about Algorithms and Data structures, however, I don't want it to be dead, abstract 'learning-about-algorithms,' as opposed to living, applied 'learning-algorithms.' So projects and problem sets rather than lectures.

What are the consensus best sources to learn algorithms and data structures in this manner?

Best way to learn data structures and algorithms reddit

level 1

Leetcode and hackerrank are good practical websites to learn.

Search Google for Nakov, I think it is Svetlin Nakov.he has published a book regarding DS&A which provides quite some theoretical knowledgeable and actionable exercises for those subjects

level 1

Find a college course from a top university. Do the homeworks. Fair warning, a big part of DS&A is writing proofs and you shouldn't dismiss this as unimportant.

level 1

Leetcode premium. Just do their classes.

level 2

I genuinely don't know about it. how's it worth the price?

level 1

I personally never did leetcode, it always seemed more like a puzzle and less like programming to me. I learned algorithms and data structures by profiling my code, finding the slow parts, and researching what data structures are used in that scenario. My first opengl project had hundreds of sprites colliding and iterated through a list to do it, terrible idea, but researching fixes for that slow down led me to quad trees, uniform grids, hash sets. Even using those I had to profile to fix bugs. In real world work this is what you will use algos and data structures for, it will translate to work much better. But it won't prepare you for a faang interview.

Reddit and its partners use cookies and similar technologies to provide you with a better experience.By accepting all cookies, you agree to our use of cookies to deliver and maintain our services and site, improve the quality of Reddit, personalize Reddit content and advertising, and measure the effectiveness of advertising.By rejecting non-essential cookies, Reddit may still use certain cookies to ensure the proper functionality of our platform.For more information, please see our Cookie Notice and our Privacy Policy .

I'de say the crux of it is understanding time and space complexity, and collecting a bunch of tools that allow you to make stuff more performant.

I can sum up data structures and algs pretty shortly.

All programming has to do with data. transforming data, collecting data, storing data, simulating complex systems with data, making the data dance across the screen.... etc.

Even something like a video game. It's all sprites attached to coordinates with event triggers. The event triggers are attached to invisible bounding boxes that are attached to the sprites, usually by way of some game object which is a data structure itself albiet a larger one. Hell, even the cartesion grid the sprites dance across is a a matrix structure.

All programming problems can be solved in two steps. You store the data in some structure. you make the data move around or do stuff with some algorithm.

Interestingly... There is a relationship between the time and space complexity needed to solve programming problems. Most problems could in theory be solved with tiny algorithms and large data structures, or can be solved with tiny data structures and large algorithms.

Here's an example. Throw a thousand name tags in a big bag. This is a very simple data structure. A large algorithm is needed to find all of the tags with "john" on it in the bad. Or, you could put all the identical names in a seperate stacks, now it requires a smaller algorithm and a more complex data structure.

By the time you get to a full blown application there are actually millions of these compromises being made. If you learn a lot of the famous DS and ALG's it's kind of like adding some new tools to your tool box. Some of the famous DS and ALG's are so fundamental is kind of like putting a plain hammer in your tool box. Programmers really aught to know some of them.

Hey r/learnprogramming!

Some background, I am a junior at a 4-year uni that doesn't have any sort of Data Structures course(I know, ridiculous). I am currently interning at a fortune 500 company, and am planning on pursuing BigN companies next fall.

For me to succeed in this, I understand that I am going to need to learn data structures and algorithms to pass BigN tech interviews. I already own the CTCI book, but have not gone through it extensively due to my lack of knowledge in data structures.

I have heard a broad range of advice from fellow colleagues. Some say just stick to something like leetcode, some say to go through the CLRS book, and some say to go through an entire intensive study guide like this.

I would really appreciate some tips on what I should do moving forward.

Thank you!


Edit: So after doing some research online, and with your guys help along with some other subreddits(like r/cscareerquestions), I decided that I'm going to go through this book, along with CTCI and leetcode. I like the book a lot because it's not too theory based like CLRS, and it is also interactive as it comes with several programming exercises. I'm also a big fan of Python. Let me know what you guys think!

What is the fastest way to learn algorithms and data structures?

Here is a step-by-step plan to improve your data structure and algorithm skills:.
Step 1: Understand Depth vs. ... .
Step 2: Start the Depth-First Approach—make a list of core questions. ... .
Step 3: Master each data structure. ... .
Step 4: Spaced Repetition. ... .
Step 5: Isolate techniques that are reused. ... .
Step 6: Now, it's time for Breadth..

How can I learn data structures and algorithms quickly Reddit?

Here's what I did:.
Watch MIT open courseware algorithms course on algorithms..
Watch Freecodecamp algorithms courses (algorithms, dynamic programming, graph theory).
do leetcode and if there's something you can't get, search YouTube for that problem. ... .
read the algorithm design manual by skiena..

How long does it take to learn data structures and algorithms Reddit?

Usually, it takes 2-3 months to learn the basics and then a rigorous, six months regular practice of questions to master data structures and algorithms.

How do I start studying data structures and algorithms?

5 Steps to learn DSA from scratch.
Learn a programming language of your choice..
Learn about Time and Space complexities..
Learn the basics of individual Data Structures and Algorithms..
Practice, Practice, and Practice more..
Compete and Become a Pro..