Shortcut for chapter specific information

Monday, December 24, 2012

Looking back at this blog

Since I left my last company, I haven't been updating this blog for a while.  What surprises me is that there are constant flow of traffic coming towards this site.   It's certainly not much but apparently Google is pointing at some of my thoughts.

One and half year ago was a dark time to me.  Studying algorithm was the only few things which were bright in my life.  It keeps on nourishing me as a person and a programmer.  

My current job requires me to be proficient on certain languages.  So reading them become my first priority.   I guess what I learned from algorithmic study is that thinking deeply first become my habit in solving any programming problems.   In general, it makes my code being less buggy.

Will I come back?  I don't know but my guess is yes.   As long as I am working in the tech business, there will be a need to refine my skill in algorithms.

33_P

Friday, August 31, 2012

status 20120831


Finished 6-1.1, again slowly, painfully I am picking this up again.  The rest is
a matter of endurance.

Browse reading: (2nd time) 159/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.

Tuesday, August 28, 2012

Slowly, painfully started again.....

It has been closed to a year I didn't read CLRS again.  I would say that affects my work significantly.   I  am drifted back to a kind of shallow thinking when I tried to work out a solution.

For now, things are okay but this is a bad habit.   In general, it's always important to think deep about a solution.

There is also something hard to describe - it is a kind of yearning of wanting to learn more in algorithms.   For example, I realized I didn't really learn heap the data structure that well.   Or  ....... I don't think I grok it.

Why do I have such a yearning suddenly?  I guess it's because I am back to learning.

After my study in Spanish is finished, I decided to pick up guitar (btw, it's awesome!) and try to learn something about acting.   Whenever you go to look at people with other skills and they excel in it, you start to ask what you really know in yours.

One thing which impressed me, when you talk with very experienced musicians who might be playing since their childhood, they always tell you that they still have something to learn.

So when I ask myself "Am I good enough as a technical person?".   The answer to myself is that: "I am actually not that good.  I still need to learn."

I think that's why I am reading again.   Not because I want to get a job in a big company, not because I want to get a medal, not because I want to prove or any stupid reason.   It's purely a pursuit of skills.

For this time though, I have deliberately skipped Chapter 4 and 5 and get started in Chapter 6, there are a lot of things I need to think through.   Right now, I just finished the first chapters of Chapter 6, those are pretty easy if that's your second read.

33_P


2nd Browse Read Again

Second Browse read Section 6.3.  I plan to do the exercise 6.1. Update pointers.

Browse reading: (2nd time) 159/1144
Exercises up to 6-1.1. (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. 

Friday, May 4, 2012

This blog

For all its purpose, this blog was always meant to be my private diary of algorithmic learning.   At a certain point, I may consider to post solutions.  Even that I am afraid there is a selfish reason : to show that I can.

Saying so, I hadn't done anything special to keep my blog secretive.   If you happened to bump into this place, feel free to write a comment or two.  If I happened to know the answer, I will certainly try to write something back.

33_P

Busy, busy, busy.....

Sometimes I feel the impulse of learning algorithm, or for that matter, mathematics and computer science, is not much different from the impulse of literature reading.    When you think of why a computer geek decides to figure out an algorithm and why a literature geek decides to read The Lord of the Ring 7 times, the reason is exactly the same : it fills a void in their heart, no matter what they yearn for.

In my case, after working on yet another start up, my time is really eaten up by various exciting work of the company.   The episode of me sparring with my previous boss is a good indication that it's time for me to leave the last company.   It was a great workplace, but I would say the system is getting too old......

As always, my programming skill still needs to be refined.    I will still come back to this blog.  I hope that when I come back though, I am fill with joy and curiosity as the kid who tries to learn new things, but not a person who is filled with doubt and anxiety, who tries to learn algorithms to land on a better job.

33_P

Friday, March 16, 2012

status 20120316


Second Browse read Section 6.1.  I plan to do the exercise 6.1. Update pointers.

Browse reading: (2nd time) 153/1144
Exercises up to 6-1.1. (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, 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. 

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