I am not a beginner and i have been solving problems for quite sometime but now i want to be more good at competitive coding. Can anyone please suggest me what all algorithms and data structure i should go through.
These are some places where you find useful algorithmic questions,
1-> On codechef discuss there is a page data structure and algorithms link
2-> Algorithms section in geeksforgeeks link
3-> Algorithm domain in Hackerrank is also include important questions. link
4-> Data science tutorial on Topcoder link
it should really help you.
Topcoder provides some really good tutorials
well you have many sources to learn algo,DS but step by step learning matters otherwise you will confuse what should i do first. so if you are logically developed then this is time to go for algo,DS :- first go for BST and learn every movement of this, then segment tree ( it is used for range query O(log(n) ),then segment tree with lazy propagation ,then sparse table (long april 2015 problem FRMQ, for range query O(1) ), along with DP standard problem knapsack,rod cutting,longest common subsequece etc. and in number theory euler’s theorem ,Fermat’s theorem ,MMI,CRT, and in graph dfs,bfs,dijkstra,prims,floydwarshall etc. and now you can go for any higher algo DS with these basics.
i hope it would guide you better and Congratulation for entering in medium level
if you are having any problem in visualizing algo DS then check out this http://visualgo.net/