Learning DS ALGO

I know this is a weird question and there are many answers out there on quora, topcoder, etc platform.
But I want advice from experts. How should I move in this path of DS Algo, from easy to hard.
Like how should I approach towards learning ds algo and competitive and how should I learn them that I never forget there approach.
like should I go to spoj and solve 50 question, or go to hackerrank and solve problems over there or like how. which strategy should I follow.

In Short, any mentor who can just show me path and I am ready to become lone wolf.

Thanks in advance. Hoping to hear soon