How to correctly learn algorithms?

Background:

I've a degree in computer engineering that I completed 5 years ago. I got really good grades at algorithms class but forgot everything that I studied. My notes were lost while migrating to a different place.

Now, I want to relearn it. I have very little memory of how I learnt it at that time.

Resources

How To Best Learn About Algorithms In Depth

I've Cormen, Skiena books in pdf format and I've purchased "Design and Analysis of Algorithms" by S. Sridhar by Oxford Publications (I am from Nepal).

I've purchased couple of udemy courses(by Edufulness Atchyut and Himayatullah Sharief)

I've purchased Data Structures books by Lipschultz.

I go to google, type "filetype:pdf "algorithm i want to learn"" and read the slides. I also go to books.google.com and search for books that contains the contents "quicksort algorithm" and read them.

My learning objectives

• Be able to dry run the algorithm.

• Be able to calculate the time complexity.

I am surprised that I am not even able to dry run algorithms. I started with searching and sorting algorithms. It was a breeze to learn binary search, linear search type of algorithms. But as soon as I came towards "merge sort" , "quick sort", I am feeling very tough to understand. I've spent 3 daysX3 hrs on quick sort alone and still I can't do a dry run of the algorithm on my own, neither can I understand the dry run done by someone else.

I feel I am missing some prerequisites to learn algorithms. My plan is not to learn only algorithms but many computer science subjects(like operating system, distributed system, database management systems, computer networks, web security etc).

https://teachyourselfcs.com/

This is the complete roadmap I want to follow.

I know discrete mathematics and can understand them. My problem is not that I am having problem with proofs, I don't care about proofs. I just want to dry run the algorithm and call it a day.

Edit: I've watched numerous videos like these

But they're not helping me.

• Cliche, but "Introduction to Algorithms" by Cormen Et al. is basically the only book you'll ever need. It has everything from the basic to complex algorithms and provides you with all other prerequisite information one may need (discrete maths, notation, etc.). Commented Mar 19 at 2:20
• "I don't care about proofs. I just want to dry run the algorithm and call it a day." You need to stop watching YouTube and start solving ten problems on an online judge for each algorithm, write the algorithm on your own, the point is to actually use it even if it is basic, if you don't use it your brain won't think it's important. Commented Mar 23 at 9:13
• @KennethKho where could I find problems based on algorithms? I know of leetcode, hackerrank, but I've never found such categorization so far. That'd immediately change my life. Commented Mar 23 at 12:29
• If you have used leetcode, this would be the only one you need for the near term seanprashad.com/leetcode-patterns Commented Mar 23 at 17:52