Shortcut for chapter specific information

Showing posts with label chapter6. Show all posts
Showing posts with label chapter6. Show all posts

Tuesday, January 22, 2013

Status at 20130122


I went through Chapter 6 again.  I still feel some kind of disharmony in it.   Especially when I compare heap with binary tree.  There are something deeply mathematical I don't grok.

But I decide to move on (again).

Browse reading: (2nd time) 170/1144

Exercises up to 6-1.2. (Skipped Chapter 4 and 5)

Revisit : 4.2-{3-5}, 4-4.3 after section 4.5, revisit Chapter 4 and 5
when time allowed.

Checking : up to P2.1

Needs write up: 2-3.7 (nice solution using merging), P2.1c, 3-2.4,
3-2.8, P3.1

Exercises checked: 2.1-2, 2.1-3, 2.2-{1,4}, 2.3-{3,7}

Exercises which are finished but not on paper: 1.1-2, 1.2-2, 1.2-3,
P1-1, The whole Section 4.4 except 4.4-3, 4.5-{1,3}, P4.4(a-c), P4.6b,
5.1-{1,2}, whole Section 6.1, 6.2-{1,2,4,5,6}, 6.3-1, 6.4-1 whole
Section 7.1, 7.2-{1-5}, whole Section 7.3 and 7.4.{2,3}, 8.2-1, 8.3-1,
8.3-4, , 10.1-{1-4,6,7}, 10.2-{1,2,6,7}, 12.1-{1,2,3,4}
12.2-{1,2,3,5,6},12.3-{2-4} 12.4-4, P12-1a, P12.4(a),13.2-2, 15-1.1,
15.1-3, 15.3-3, 15.5, 17-1.1, 18.1-1, 18.1-2, 18.2-1, 21-1.1, 21-1.2,
22-1.{1-3,6,7}, 23.1-1 and 23.1-3, P30-1{a,b}, P30-2b, 30-1.1,
31-1.{1-7}, 32.1-{1,2}, A.1-{1,2,3,4,5,7}, C.1-{2,4,5,7,8,9,14},
C.2-{1,2,4,5}, C.3-{1,2,10}, all in D.1. and D.2-2.

Second Browse Read So Far......

Not doing great and I am still stuck at Chapter 6.

In fact, I have pretty stopped for the whole last year on algorithm study.  Shame on me!

Now saying so, there is something which makes me mentally stuck or simply just getting slower when I try to absorb anything in Chapter 6 to Chapter 9.   When I analyzed myself, the reason is


  1. I don't have a C linked list package or a tree package at my disposal:  Shame on me, because it's never difficult to write one. 
  2. Like sorting, some of the algorithms need to test in practice before I truly grok. 
  3. Also, 1 year after my first browse read, my memory has significantly faded on some material. 
  4. I should start to package all my previous algorithm.   It's worthwhile to continue to improve on them.  But I didn't so my memory was disrupted. 
  5. I need to express myself mathematically but I never figure out how to write mathematical equations on Blogger.  Shame on me, that's why things are slow growing.  
It's good to figure out the reason because it allows me to truly move on.

In my work, I start to need to think deeply in terms of algorithm again.  I believe it means this blog should be reactivated.

Let's restart! And work on each of these issues slowly.

33_P


Friday, March 16, 2012

Back to Self Study

There has been a while I haven't updated this blog.  I was mostly busy in my new job and don't have time to read up data structure and algorithms.

When I think back, the experience with the first 4 chapter of CLRS is great.  If you followed previous messages, you might notice that I couldn't finish Chapter 4.   It wasn't such a bad thing, as you can always come back an learn again.

Iterative reading is the key to learn and read a deep subject such as data structure.  I decided to put certain amount of time every day to work on them again.

To this day, I am still thinking about whether there are actual benefits of learning and studying deep on algorithms.   My answer is positive.   When I observed myself, there are couple of things I have changed,

  1. Deep thinking before doing any programming task. 
  2. Careful planning : this tends to root out mistakes before run time. 
  3. The one-shot completion rate is getting higher.  
The 3rd point is worthwhile for some explanation.   You see when you program, sometimes you need to modify the code several times to get it right.   In these days though, I start to find more cases where I can just code up something and it just works.  This is always an amazing experience. 

In any case, I will move on.  This time I will work on Chapter 6.   This will skip Chapter 4 and 5 to avoid very difficult mathematical problems. 

33_P

Thursday, October 27, 2011

status 20111027


Change the browse read pointer back to Chapter 4. Change the exercise read to chapter 6. 
Browse reading: 65/1144
Exercises up to Chapter 6. (After Chapter 4 and 5 are skipped, not start the read yet)
Revisit : 4.2-{3-5}, 4-4.3 after section 4.5, revisit Chapter 4 and 5 when time allowed. 
Checking : up to P2.1
Needs write up: 2-3.7 (nice solution using merging), P2.1c, 3-2.4, 3-2.8, P3.1
Exercises checked: 2.1-2, 2.1-3, 2.2-{1,4}, 2.3-{3,7}
Exercises which are finished but not on paper: 1.1-2, 1.2-2, 1.2-3, P1-1, The whole Section 4.4 except 4.4-3, 4.5-{1,3}, P4.4(a-c), P4.6b, 5.1-{1,2}, whole Section 6.1, 6.2-{1,2,4,5,6}, 6.3-1, whole Section 7.1, 7.2-{1-5}, whole Section 7.3 and 7.4.{2,3}, 8.2-1, 8.3-1, 8.3-4, , 10.1-{1-4,6,7}, 10.2-{1,2,6,7}, 12.1-{1,2,3,4} 12.2-{1,2,3,5,6},12.3-{2-4} 12.4-4, P12-1a, P12.4(a),13.2-2, 15-1.1, 15.1-3, 15.3-3, 15.5, 17-1.1, 18.1-1, 18.1-2, 18.2-1, 21-1.1, 21-1.2, 22-1.{1-3,6,7}, 23.1-1 and 23.1-3, P30-1{a,b}, P30-2b, 30-1.1, 31-1.{1-7}, 32.1-{1,2}, A.1-{1,2,3,4,5,7}, C.1-{2,4,5,7,8,9,14}, C.2-{1,2,4,5}, C.3-{1,2,10}, all in D.1. and D.2-2. 

Saturday, October 22, 2011

Some thought on my exercise read.

I have thought about this for a while.   It is indeed quite difficult to get through the exercises of Chapter 4. This could simply be a matter that I don't fully grok some of the nuance of the subject.   Solving recursive relation is a deep subject.  I have improved on it but my mathematical skills is still not good enough.   That sets me to a position which I can't move on.

So I am thinking.  I might want to skip both Chapter 4 and 5.  They can be too mathematical (as well as tedious) for me at the moment.  I can work on Chapter 6 directly and try to think if I can finish some exercises in Chapter 4 and 5.   This will unstuck me and it's meaningless to get stuck for such a long time without moving along.  Insight such as grokking the solution of T(n) = 2*T(n/2) +n is useful enough to move on.

I am also working on my cloud blog all the time.  It's a lot of fun to write.  When I have chance I will also expand it to support more languages and more topics.   Should I do the same for "Self-Study"  I don't know.  After all, "Self-Study" is really just my diary.  Making it to attract readers is a bit far-reaching for me.

33_P

Saturday, September 17, 2011

Thinking about the second browse read of CLRS

As I am almost finished the first browse read and far from finishing the exercise read, it makes me think what is the best way to make use of the second read.

The truth is the linear style of the first browse read is not a very effective way to absorbe difficult topics such as red-black tree or dynamic programming.   Many selected topics by itself should also be read in a separate book so a linear-read is unlikely to give too much benefit.

Here are couple of thoughts at this point.  It requires a slight modification of the second browse read as well as the exercise read.

1, First of all, the browsing in the second read should be slower.   The general principle is that I need to understand more than the first read.

2, Second, instead of getting stuck in a particular chapter just like now, my exercise read should incorporate at least another N chapters in future read.   How should I choose the chapters? How large is N?  My answer is that if I can finish more than 50% (more or less) of the chapter exercises, then I should pick it as an exercise read.  Right now that means Chapter 6 (Heapsort), Chapter 7 (Quicksort) and Chapter 12 (Binary Search Tree).  My take is that N is likely equal to 1 or 2 because it's easy to get distracted.

3, I will also let problems I have been working on in work as well as in school to stimulate me.  If I need to review certain material.  I will not hesitate to reread a certain chapter of CLRS.  For example, I probably need to reread the Hash table (Chapter11) and sorting chapter soon.   They are beneficial for my learning in the class.  They will also be essential in my work life.

So let's see how it goes.   Of course, I probably want to start the second browse read first.  This will be quite something by its own.  The last three chapters are interesting and deep.

Friday, June 10, 2011

status 20110610

Reread the chapter on heap sort. Now I can read it through until Section 6-4.  I am yet to visualize how the heap works intuitively.  At the very least, I shouldn't just the heap is moving, I should also be able to see how the numbers are moving around in the array.  

And once again, shame on me, not able to finish the section on priority queue (yet).  But well, one more round, I will be able to penetrate the whole thing. 

Finished in my head: 6.1-4, 6.1-5, 6.1-6, 6.2-1, 6.2-6, 6.3-1.

Fuzzy reading: 414/1144
Browse reading: 309/1144
Exercises up to 4-1.1
Needs write up: P2.1c, 3-2.4, 3-2.8, P3.1
Exercises which are finished but not on paper: 1.1-2, 1.2-2, 1.2-3, P1-1, P3-6, 4.3-{1,2,4,5,6}, The whole Section 4.4, 4.5-1, P4.4(a-c), 5.1-{1,2}, whole Section 6.1, 6.2-{1,2,4,5,6}, 6.3-1, 10.1-6, 10.1-7, 12.1-{1,2,4} 12.2-{2.3}, 12.4-4, P12.4(a), 15-1.1, 15.1-3, 15.3-3, 15.5, A.1-{1,2,3,4,5,7},  C.1-{2,4,5,7,8,9,14}, C.2-{1,2,4,5}, C.3-{1,2,10}, all in D.1. and D.2-2

Friday, April 22, 2011

Status at 20110422 (b)

I was able to break my reading block on heap sort.  Then I cruised through chapter 7 on quick sort and come to chapter 8.   I believe 6, 7, 8 are advanced topics which require good background in theory.  So reread is necessary.   There are topics which I feel blurry - that include priority queue and the analysis of quick sort.  Those are very important but not easy to fully understand.

I also reread the material about merge sort and Chapter 3 again.   Now I get them.  My mind just wasn't ready for them.  In fact, this is a very good book to own because once you finished Chapter 2 and drill it seriously.  You already know 4 basic comparison sorting algorithm by heart, one even has performance in theta(nlogn).

Browse Read: 200/1144
Exercises up to 2.2-3

33_P
(Correction: there are only 1144 pages in the 3rd edition.)

Tuesday, April 19, 2011

Status at 20110419

Finished Section 6.2 and 6.3.  When you think through it, these stuffs is actually not that tough.  The math in Section 6.3 worths some time to review.  I will count myself went up to p. 159.

Also finished some trivial exercises in my head.  That includes 6.1-7, 6-2.3 and 6-2.4.  Needs to put in on paper of course.

Browse Read: 159/1155
Exercises up to Section 2.2-2
Exercises which are finished but not on paper: 2.2-4, 6.1-7, 6.2-3 and 6.2-4.

Monday, April 18, 2011

Status at 20110418

After couple of days of tiring housework, I decided to work on the book slowly again.  Just finished Section 6.1 and I start to feel comfortable about the terminology of heap sort.

Another interesting thing happens in my mind, I start to hope to do the next exercise.  Just like when you are young and you are see a Math problem books.  You want to solve all problems in it.   It's not much different here.

Sometimes I think I might be just the programmer version of Julie in Julie and Julia.   Well, I guess real-life is always difficult. It's just difficult in different ways for different people.

Browse Read: 154/1155
Exercise up to : 2.2-1

33_P