So, I started coding two months ago on 06/28/2017 I started from beginner section and some days after I jumped to easy section. So, now I think I can handle easy-level questions, I’m not saying I can handle them easily. It takes me time to solve those easy questions, But I was wondering what would be the good time to start the medium-level questions? As many of the medium-level questions involve graph and trees. So, what would be the best way to learn graphs and Trees? I’m a visual learner, So please point me in a right direction, where I can learn about graphs and trees. Are there any free courses where they teach you graphs and trees with videos? Any advice will be appreciated!! And please suggest me some easy medium-level problems to start with. Thanks!!

I would suggest you go through videos of mycodeschool, first Complete basic data structure as tree and graphs are mostly easy when you know data structure very well. After completing data structure you’ll get the basic knowledge of how to represent a tree and graph. After that move forward to geeksforgeeks and read the topics related them. Hackerearth tutorials are also good on trees and data structures and they are in defined order as well. graph theory a must read!

For more reference please go through this answer also.

Hope this helps!

It all depends n how comfortable and committed you are. Before jumping to graphs and trees, make sure you know recursion quite well.

Then, I find hackerearth’s tutorials really nice for learning these concepts. If you want video lecture, then there are quite many videoes on geeksforgeeks on DFS, BFS etc. You can also try to find that archived course on edX, “How to win coding competitions” . Its final part deals with Graph theory if I am right.

Some problems in medium you will find are actually quite easy, provided you know the required concept. But yes, I recommend solving a good portion of easy section first, so that you have a strong base when you approach the harder questions.

before moving to the medium section , what i will suggest you is solve easy problems whose accuracy levels are lower, what that will do is provide with you a proper idea whether you are clear enough to proceed ahead , then you can go to hackerearth.com for tree, graphs etc , or mycodeschool on youtube or tushar roy’s channel in youtube, he teaches really well the recursion part which is quite tough to understand. following hackerearth is really good , it clears concept really well and the practice problems are well arranged so that you do not come up to the hardest in the beginning only , and moreover videos+notes+problems solving that’s the way to proceed.

Thank you for the advice I’ll try that for sure.

Thank you so much for the advice, I will learn about recursion in detail

Yes, because recursion is the heart of tree and graph Q. You can visualise whats happening in your code very well with recursion, while its really hard to think without it.

Thank you so much for the advice, So accuracy level means how many people got the answer right? If so, from now onwards I’ll try problems with low accuracy level. Thanks

the problems with lesser accuracy level are the ones that are the harder ones in the easy section. solved by few.

Thank you, yes recursion makes code shorter too if I’m not wrong, Thanks

Okay, thank you, can you please suggest me a good easy problem? thank you

Yes. But mostly recursion is used where iterative approach becomes too complex. One of the BEST questions for recursion is-

If you try to think of it iteratively, it seems next to impossible. But see how trivial it became with recursion.

Do you think I can give this problem a shot? Or it requires some kind of extra knowledge to come up with the solution to this problem?

Just recursion. A simple, basic recursion . I learned value of recursion from this problem XD