For most Algorithm is a subject students are not able to grasp. Algorithms is a vast subject for first go, But as you unravel this mysterious subject you will realise it as simlple as doing math(2+2=4) or may be tell probability of winning a Head in a coin! Algorithm is a logic based subject and most of us dont understand it in the first go is because of only one reason:
We study this subject(Algorithm) with loopholes.
Yes! The only reason you are not able to study this subject is because you are studying this subject partially and leaving few topics which are important. You know what is Binary Tree, but B+ trees are unknown. You know how to solve basic recursion in mathematics, but fear solving asymptotic analysis using recursion trees! Logically you know how to steal some goods in your bag with maximum profit, But when the same is given the term 0/1 knapsack problem using Greedy & Dynamic Programming method; You are blanked out! Studying Algorithm is about step-by-step climbing a ladder. And yes the ladder is long! But trust me once you reach the top you will not consider algorithm as a difficult or lengthy subject!
I have arranged a step by step approach to understand this subject from the scratch. Just like I did. You may find this subject lengthy at first, but as I said be patient and remember you just have to climb the ladder step by step. Try not to jump the steps of ladder with overconfidence.
Phase 1: Basics Of Algorithm
What is an algorithm and Why do we care? Lets begin with this interesting video by Khan Academy!
Phase 2: Learning from the Masters
Its often said, The best way to learn is to learn from the expert itself! Below are the lectures from the MIT open Course ware. They one of the profound lectures for Solid foundations. Click the link below for the series: