Shortcut for chapter specific information

Thursday, October 27, 2011

First browse-read of CLRS

As I flipped through Chapter 35, I have also finished the first browse read of "Introduction to Algorithms", commonly known as CLRS once.   As the name suggests, I only browse through the chapters and occasionally write down solutions I can figure out.  The first read is meant to be shallow but fast.  That's why it only take seven months to finish.  If I read the book by going through every single detail, I probably need to spend many years to go through the book once  -  That's not a prudent way to read an algorithmic book.    Sometimes, you just read it like a book and extract some simple knowledge out of it.  Just like what you do to read any book.

Before I go on, let me side-track a bit, as you might also know, I have another two reads known as "exercise read" and "research read". The former is a kind of read which force myself to do all the exercises.  Whereas the second include some research problems which popped up from my head.   The "exercise read" is closed to a common university graduate course on algorithms and data structure and the former is a bit closed to basic academic research.  Normally I recorded the status of exercises in the "Status XXXXX" post and research problem in the "complementary exercises".    At this point, I only finish up to the half of the chapter 4 in  "exercise read".  For "research read", I can barely go through Chapter 2.   It sorts of show how difficult when you try to go deep.   

My guess is the ratio of chapters they can go through between their "browse read" and "exercise read" could be very different from me.   For most, they will just completely discard the idea of reading an algorithmic book from scratch.   I can see their points but I always maintain that in computer science, if you think deep enough, you will be bound to touch all the topics found in CLRS including the selected topic.   Many people I know have strong algorithmic skills reference "brick" books like CLRS and TAOCP a lot.   If you start to read them, you will get benefits from them even if you don't completely grok. 

Back to the first browse read, I would say in this read, the amount of exercises I really work out diminish as further back of the book.  The three chapters which really stuck me are probabilities,  binary-tree and red-black tree.  Basic math can always be tough.  Basic data structure such as binary tree, can also give one a lot of headache. Red-black tree is a bit of topic which is deeper than the bottom.  Given that I am reading them in a relatively fast way  so I am not surprised if I don't really grok all of them. 

After a class in famous extension school, my understanding in binary tree has tremendously improved.  But for the other two topics are still a bit beyond me.  Some probability problem can be monstrously tough and  famous extension school only teach B-tree (or something like 2-3 tree) so I still need to think through red-black tree quite a bit myself.   

For the first browse read, I think those are okay, again you don't want to catch up with tough problems when you get stuck.   Sometimes you just want to build context in your brain.  That's what I am doing.  

But one thing I am sure: I need to change the way I approach the book - a purely linear path can be very difficult.  In my case in particular, I found that my exercise read in Chapter 4 turns out to be very difficult.  This also means that my mathematical background is not deep enough.   So I decided to back up from there.  That always take time to improve.   

My skill though is more suitable to take care sorting and data structure.  I am psyched about it.  I also think through a lot of problem from the famous extension school course.   That should be a better starting point. 

Now my new plan would be this. 
1,  Turn the browse-read pointer around to the first chapter I haven't finished all exercises.  i.e. Chapter 4.  After the first browse-read, the second read will always teach you something new as well.  During this process, I hope to attain a higher coverage rate on the exercises of the book.  This also allows me to identify chapters which are suitable to my level. 
2,  Abandon Chapter 4, restart the exercise read from Chapter 6 on heap sort.  The goal is to finish Chapter 6 's exercise read.  Occasionally work on exercises on Chapter 4 if I like. 

In any case, let's see how it goes.  I hope this work out and the next step is to readjust and try to go through my study. 

33_P




No comments:

Post a Comment