Well, everyone should read this book from Start to end (From Basics to Masters).
Here are my suggestion on How to read this Book.
Reading and Understanding CLRS:
- Use video lectures to understand the concept, and read the chapter from the book. Best site for CLRS lecture videos : Lecture 1: Administrivia, Introduction, Analysis of Algorithms, Insertion Sort, Mergesort
Video Lectures | Introduction to Algorithms (SMA 5503) | Electrical Engineering and Computer Science | MIT OpenCourseWare
Peteris Krumins has published a series of blog posts covering the lectures. You can also find his lecture notes for each video. Start with this one: http://www.catonmat.net/blog/mit....
What if you're not understanding Mathematical equations and Proofs, functions given in the Book?
- Watch Videos on Discrete mathematics by Arsdigita University Course 02: Discrete Mathematics (Arsdigita University) : Free Download & Streaming : Internet Archive In parallel with it read Discrete mathematics and Its Applications by Rosen Discrete Mathematics And Its Applications 7th Edition : Free Download & Streaming : Internet Archive Solve Exercises given in the Book if you solve all the Exercises on your own ;) . I'm sure you'll become Master.
Attempt the exercises after every chapter of CLRS. Resist the temptation to skip the exercises or look at the solutions online right away.
Practice solving algorithmic problems from sites like TopCoder, SPOJ, etc. For example, after reading the chapter on Dynamic Programming, you could filter problems belonging to this category and solve them.
If you find the content in CLRS to be very theoretical as you progress (and you will), use Topcoder Algorithm Tutorials (http://community.topcoder.com/tc...) to understand them first. The contents here are more approachable.
- For your reference,here is the solution link to CLRS Page on compute.dtu.dk
This is how I'm currently reading the Book. I hope this works for you too ;).
Thank You!!
Honestly, reading CLRS is unlike reading tutorials online. Online tutorials typically abstract away formal stuff like proofs in order not to bore the reader and to keep things concise. However, to achieve a deep understanding, one needs to go through formal academic material like CLRS because those are designed, by academically accomplished individuals, to be rigorous and complete unlike online tutorials, which can be written by anyone.
Also, I personally don't think that I would want to take part in CP after reading CLRS. Because CLRS and CP have widely varying schools of thought. CLRS is very formal. Whereas CP can be very handwavy (i.e. Proof by AC).
I am agree with you but believe me reading CLRS will take you to next level of Competitive coding.
Perhaps that is true. But I personally feel that there are much more useful things than Competitive Coding. In my country, only IOI/ICPC participants do CP. Nobody cares about CP after that.
Personally I would not read CLRS for the sake of CP. I would do so for research and self-improvement purposes.
deleted.