Data Structures & Algorithms Became EASY Once I Did THIS

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
data structures and algorithms was always for me one of the hardest parts of learning to code especially as a self-thought developer with no background in computer science these topics look terrifying I had no confidence in my ability to learn all these very theoretical sounding topics and whenever I open lead code or even thought about a technical interview I felt like a complete impostor that was until I made three critical changes in my approach to learning data structures and algorithms which just made everything click and ever since data structures and algorithms has become one of my favorite parts of programming and something I actually enjoy challenging myself with I know I'm probably the first person ever that you've heard say that so today I'm going to show you what these three changes are and how anyone even complete beginners can instantly apply these changes to make data struction algs not something that's chore and something that you hate but rather something that you actually enjoy tackling and most importantly something that's not so freaking hard anymore and to understand the first change we need to talk about how I'm packing for my upcoming trip to Asia but first a word from our sponsor and this video is sponsored by me that's right I'm sponsoring my own video because I have created algo University now this is a serious program for those of you who actually want to master data struction algorithms and get a teag job as fast as possible I went through the process of learning data struction algorithms and learning to pass these coding interviews and through this process I developed for myself a road map and a system to do this as easily as [Music] I have to pack different things now in an Ideal World I would pack my entire life but obviously I can't do that because I have the constraint of the size of the suitcase as well as the different weight limits for the different airlines so really what I have here is an optimization problem now this is very similar to how data structures and algorithms work specifically what data structures are a different method of optimizing your programs such that they take up as little space as possible so that's like optim optimizing the way I pack my stuff to get the most out of the trip while taking as little space as possible but I'm also optimizing for a different thing and that is speed so for example when I go from Dubai to Hong Kong what I could do is go through like two different layovers in two different cities but ideally if possible I'm going to book a direct flight so I can get to the destination as fast as possible this is like optimizing algorithms but it's not just about getting the correct result with my program it's about getting to the result as fast as possible and I have different tools that I can do to optimize for these two things for example to save on Space instead of taking physical books I can take ebooks and to save on Space by not having to take condoms I can just not use and and for the flights while direct flights might cost a bit more I can use different like hacking techniques to get cheaper prices on the flights and similarly with data structure and algorithms the different data structures that are optimized for certain kinds of problems to take as little space as possible and to make the program as efficient as possible and similarly the different algorithmic techniques and strategies on how to design your programs to make them run as fast as possible basically what all of this comes down to is that data struction algorithms just like these different techniques with my packing and my trips are just different tools to solve different problems so most people see data struction algorithms as just these theoretical topics that they like have to memorize and master but the first change I made and this is what like a game changer for me is I started seeing data struction algorithms as just different tools to solve different problems so for example rather than just focusing on memorizing what a linked list is I started looking at a linked list as a way to solve certain kinds of problems and I started thinking about when is a link list useful but I know that this is not enough because I know that right now you're screaming at your screen going like okay smartass then tell me what these different topics are and how do I know when to use which one and this brings us to the second change with learning data structure and algorithms okay so you might relate to this feeling let's say you've learned about some data structural algorithms say link list and you feel pretty good about it but then you see a problem where you're supposed to use that concept like reversing linkl for example what up happening is that you end up staring blankly at the screen with no idea what to do and you feel like you'll never be able to get this and actually solve real problems and this is a normal feeling and something that I felt for a very long time until I sort of switched my mindset when it comes to learning about data structure and algorithms you see the thing about learning a new skill is that it's always going to be uncomfortable in the beginning just because you feel uncomfortable about doing something that you haven't haven't done a lot of before doesn't mean that you're not capable of learning like think about it when you go to the gym for the first time you're not going to put like 50 kilos on the bar immediately you're going to start with a bar and it's going to be embarrassing when the entire gym sees that you can't even lift the freaking bar you Scrub but if you don't do that if you don't go through those first steps you're never going to grow but what most people do is that they just get to the first problem and when they can't solve it instantly they just give up confidence isn't just something that you have it's built through repetition and practice so what I did when I felt this unconfident in my ability to solve dat destruction algorithm problem that I just started doing two lead Cod problems every single day and I was like I don't care how long it takes me to get good at this I'm just going to keep trying until this becomes easy and as I did that lo and behold I started to see patterns I started to see like okay I'm solving this problem here and it's sort of similar to that other problem that I solved 3 days ago that time I got really frustrated and threw my keyboard in the wall because I could Sol then eventually I figured out this pattern which is very similar to what I could do here to let me try that here and voila it works and that is just sort of how it works you build up this repertoire of these pattern and these techniques that you can then instinctively start to see when to apply in new problems so the second change was to Simply solve a very high volume of coding problems and understand that if I just keep doing the practice and eventually I am going to to get good at it but I was still missing something I was solving problems but I was just sort of aimlessly wandering in the depths of lead code and while I was learning something I still didn't know the things I was learning were the right things for actually getting hired and that brings us to the third and final and probably the most important change so one of the toughest things about learning anything when it comes to coding and technology is that it turns out that there's a lot of things that you could be learning I'm currently reading a book called the one thing that talks specifically about how diverting your attention to way too many things is not what successful people do successful people find the one thing like or like the couple of things that really really matter and they focus their attention into just these things and in the world of programming if your goal is to get a tech job running data struction algorithms is absolutely that one thing because that is the one gatekeeper between you and those jobs but even within DSA you need to know which topics and which problems to direct your attention to so the Third change and this was absolutely gamechanging as well was Finding a specific road maps of the topics that I needed to master to get to my goal which was to pass these interviews okay so what is this road map so there's two kinds of road maps you need you need the road map of topics so desruction ALG topics that you need to First learn and then to learn when to use these things and I'll talk about in a second how to do that but then also you want to think about a road map of problems what kinds of problems do you need to solve in order to be ready for the problems that are tested in interviews now when it comes to the problems there happens to be a list of 75 specific lead code problems that now like widely accepted to be the exact problems that cover all the patterns and all the problem types that are tested in junior level interviews you can find this list if you go on Google and you type blind 75 leadore problems you'll be able to find the original article where they talk about this now I also took this list and actually made solutions to all of them and if you're giving your email down below in the description I will be sending this list to you and you'll sort of be able to just go through these problems this notion template that I'm going to send you where you can like tick them off as soon as you sold them in terms of the road map that I followed in terms of the topics well that's basically just the curriculum of my paid program alga University which I mentioned before in this video now if you don't want to buy the program you don't have to what you can also do is click on the link down below go to the landing page and the curriculum is going to be there that's going to show you exactly what you get inside you can just take a screenshot of it and then go out on YouTube or wherever to study these topics on your own if you can't afford the program or if you don't think it's valuable to get all of these in one place now how do you learn to know which topics to apply to which problems well basically as you go through every concept when it comes to Data Destruction algorthm the one question you want to be asking yourself at every stages why why does this concept exist why does the link Le exist why does a graph exist and through that when you see problems your over time going to be able to start sort of piecing together and like applying the right things in the right places now you can do this on your own or it's under program whatever but that is the way that allowed me to start like connecting these pieces together so with this list and these three changes day destruction algs is finally going to be easy for you right well not quite the truth is day destruction algs is not easy if it were easy everyone would be passing Google interviews and getting jobs and that might sound like a bad thing but it's actually a good thing because it means that if you're one of those people who's willing to climb above that barrian to entry and do the work to get good then you will have much less competition because most of the people won't be willing to do that so these changes and this road map is a great start and I congratulate you for watching through this video because it shows me that you are actually serious but if you are serious then this was really only your first step and because this video is quite long already I'm actually going to direct you to this video where I share exactly how I would like literally like autistic level step by step how I would do it if I was starting over with data structur algorithms to day so as your next step in your journey I recommend you go watch this video and follow those steps while applying the concepts that you learned in this video and with that video and this video together you are going to be absolutely Unstoppable so we'll see you in that video
Info
Channel: Internet Made Coder
Views: 6,018
Rating: undefined out of 5
Keywords: how to learn programming, how to learn to code, learn to code, coding, programming, software engineer, software engineering, software development, self taught programmer, how to become a software engineer, no cs degree, programmer, data structures and algorithms, master data structures and algorithms, leetcode, solve leetcode problems, how to crack the coding interview, how to pass the coding interview, software engineer interview prep
Id: T-P80mRXF1s
Channel Id: undefined
Length: 11min 13sec (673 seconds)
Published: Sun Apr 07 2024
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.