Hey, I have my winter vacations and this is the time when I can code day in and day out, I had been looking forward to this month, but honestly having had a quick start I feel stuck all of a sudden. Every other question i pick up is based on algo I dont know or is a DP. And not being able to solve a question is demotivating.But I want to learn. Can anyone tell me how can I make practicing problems a learning process, what should guide my problem selection?
Read CLRS and solve question based on those topics…
what is CIRS?
Introduction to Algorithms
Book by Charles E. Leiserson, Clifford Stein, Thomas H. Cormen, and Ronald Rivest
Just google it!!
and sorry its CLRS… typo error up there in answer…
Though i too am a beginner, some approaches i can suggest for you are:
You said most of the problems are based on algorithms you don’t know about. This itself suggests that you should start preparing topic-wise, not just doing random questions. You can look at the list of topcoder tutorials available for all the basic algorithms/topics, and start going through them slowly. Also, code sufficient problems pertaining to them simultaneously, and consult other scources.
Take part in live contests on sites like codechef, codeforces, topcoder, hackerRank, hackerEarth. These contests have twin advantage: they improve your efficiency & accuracy, and apart from that, you get to learn more by “upsolving”, i.e. solving questions after the contest on your own, or by taking help from the editorial. If some new concept was used, you get introduced to that too. But DO try to solve at least one question after the contest.
As these are the days of your vacations, do not miss any live contest.
Like i said, i too am looking to improve, suggestions from others are more than welcome
well, there is no hard and fast rule on the order in which the topics are to be studied… This page contains the list of all the tutorials: Topcoder
You can start with graph theory, game theory (grundy theorum), greedy, DP, MAX Flow, binary search, bit-wise operators, Segment trees, Binary indexed trees etc.
All the above mentioned topics are easy to learn/implement, so you can start with anyone.
do topcoder have tutorials in proper order, i mean from easy to hard?
If yes then can you please comment the link here, because ds page on codechef do not follow a proper hierarchy, so there is problem in as which topic should be read first…!!
watch video lectures from coursera.org of princeton university and implement them all . this will definitely help