My Top 3 Tips for Learning Data Structures & Algorithms

preview_player
Показать описание
My Top 3 Tips for Learning Data Structures & Algorithms
Рекомендации по теме
Комментарии
Автор

Master Data Structures & Algorithms COMPLETELY FOR FREE at AlgoMap.io!

GregHogg
Автор

I’ll add, the best way to memorize is to write out the solution in your own version of pseudo code and put it in a spreadsheet. Re do the problem many times, only using your pseudo code, until you can solve then problem without it. Then you KNOW it and your ability to think algorithmically gets better.

rdubb
Автор

Thank you for your advice, I agree with you, after been studying 1 years this kind of topic it make sense to me.

oJoao
Автор

I understand every problem but cant form a optimal solution my solution is always bruteforce 🦖

technicallytechnical
Автор

There are lots of education reformers who complain we just teach to memorize things. Well you can't use anything if you haven't memorized it first. Memorize as much as possible as young as possible, because it doesn't get easier with age.

DrDeuteron
Автор

Numer 1 tip is very important i can relate with myself when i was stuck in a problem i keep trying for 3 hours but then i finally gave up
And the next morning when i opened up that question it clicked i figured out my mistake and solved question in 5 mins

junaidkhankhan
Автор

How to solve the problem? "Just see the answer"... That is so nonsense, so doing a lot of useless stuff not learning it, just memorizing it and never use it in real life, just to pass a job interview, sounds exactly like the tests most schools do... A great job market!! Honestly we deserve what we get...

gabrielbarrantes
Автор

What he means by memorize not the whole code but the result or method like using quadratic equation to solve problem in math add on them try to generalize the concept and make problems from your mind

ahmedamr
Автор

means i have a particular question like i have just started and following the roadmap, till now there is no question which i would have think on my own and i am just constantly memorizing every questions in array means is this correct way or is there some more better strategies or way.
(i am writing solution in my register)

dhruvparikh
Автор

Sure there is an order to these things, and that is really important, but the other 2 tips are basically "how to shoot yourself in the foot" tips. Generally speaking, those tips will help you in the short term, but be quite detrimental on a bit longer term.

Algorithms and Datastructures are all about general concepts and how you can use them elsewhere. The entire point is to get a good understanding on them and practise on using them on things you might not consider using them in the first place. Memorisation is useless in this case, because outside of special situations like an exam or code questions in an interview you are going to have plenty of time to look up the details of any particular technique you want to use. Sure I know the principles of a red-black tree, but when I need to program them it is easy to look up the details of the technique, if for no other reason than as a safety check that I am doing it right, and the time that takes is saved in the reduced amount of tests I will need to write to reach the same ensurance of safety on the code. If all you do is memorise, you are going to have problems when going to the more advanced concepts that builds on top of it, and you will not have the kind of general understanding needed to use it elsewhere.

This leads to how the giving up part does not quite work like that. These kinds of problems can be roughly split into 3 categories, actual work, exercises and examples. For actual work there are a bunch of other things to consider, but giving up to look at solutions is not an option, rather the option is to look for inspiration and it has nothing to do with giving up in that case. For training we have excersises and examples left. Examples are those things where someone else already have a solution or show the process of getting to a solution, and they can generally help show how a technique works, other places it could be employed in or other such things. Conversely exercises are about making you actually go through the steps to reach a solution yourself. The thing to understand is that examples do not work as exercises, which means that you need to learn how to reach the solution yourself, not only look at examples, especially in this kind of area where the ability to apply the ideas elsewhere is so crusial. If you give up on an exercise and look up the solution it loses that value as an exercise to you, and all you end up doing is memorising specific solutions and never actually developing the ability to apply the techniques in general. If you get stuck on a problem go elsewhere and learn stuff, because it is a sign that either you do not have the prerequisites or you lack a good idea for how to approach such a problem. Using hints can be okay, but you do lose out on the searching for a good idea to approach a problem with. My advice is to first make sure that you have actually read up on the theory of what you think could be used to solve the problem, and then try to come up with something on that problem, and if you get stuck go do something else, maybe other problems that remind you of it or look more into the theory of that or other topics that you think might be useful, and then later come back and see if they have inspired you to some new and better solution. Trying things without the theory means you do not really have the foundation for understanding the technique in the first place, and while that might work okay for some basic techniques, it is going to make things further in a lot more brain wrecking.

sorcdk
Автор

Writing the code on paper helps alot if you're trying to memorize it

unlucky-
Автор

I'll say you should understand it and memories it

RyanPog
Автор

Hold up your way to learn is to first take a test?

airkami
Автор

I’ve been taking classes for software development over the last year and a half. I have a couple of free, gimme classes before my final project so I’ve been shoring up my weaknesses before I start applying for jobs.

Recently, I’ve been splitting my time to study DSA, and this is probably the biggest tip I would give anyone in my position.

Especially if you’re still learning the core basics like recursion, lists, stacks, queues, dynamic programming, DFS or BFS, etc.

Genuinely, there is so much theory and math behind these things that you’re better off “cheating” as much as you need to if it means you understand the concept better.

kylechermak
Автор

I have a question, how to know which data structure i can use, because i solve problems by trying my solution but when i read the solution i found that people used some queue or stack?

ayoubbellani
Автор

Guys don’t memorize anything. It’s the worst thing you can do when learning something.

UbiycaCrabov
Автор

Probably the only guy i have heard, giving the correct advice . I leard these in a hard way, i walso wasted hours behind a problem, then i realized, i can use hints and solve it quickly and memorize irlt

SudipSarkar-lisq
Автор

Greg thank you buddy! You're a real lifesaver for those who are starting in this world! 🫶

johnclaius