I decided to let myself drift for a while because exercises in CLRS 3.2 beat me up quite a bit. So I need to let my mind relaxed for a while because I think I don't perform well.
My way to deal with such kind of problems is to look ahead of the book. This usually motivates me because you will start to see all these fundamental materials become necessary to understand more. For example, if you truly want to understand quick sort and heap sort, then you need to know much of the materials in Chapter 5. Or else your calculation will become quite messy. If you want to solve recurrence in general, you have to go through Chapter 4. Or else most of the time, you will be hit or miss guessing a formula.
I quickly browsed through the material in Chapter 5. Chapter 5 can be thought of as the toughest chapter out of all the introductory chapters (Chapter 2 to 5). It requires math outside of just an algorithm book and it probably take a class of random process or statistics to fully understand.
But I am curiously attracted to such a difficulty. The question in my mind is always "Why not?". If this is the exercises are difficult, why I am not able to solve it? I will just beat them one day. That's my thinking.
Many programmers, just like me, try to read CLRS from the beginning, they are all stumbled in Chapter 5 because it suddenly requires math and stats which go beyond their comfort zone. Some people will also doubt the introductory book status of CLRS. To me, that's ridiculous, being good in probability and math is important in nearly every facet of life. You want to understand lottery? Probability. You want to understand election? Probability. You want to know how merge sort really works but not just copying? Math and probability. So getting good at it while you have time, (you have time because you are reading CLRS already), it's certainly very beneficial.
In fact this difficulty of reading Chapter 5 is mitigated by the authors, who put most introductory material into the Appendices. My plan is if I got stuck in Chapter 5, I will first exercises from both Appendix A and Appendix C first. (In fact, I have already finished some of them.) Why not? This is a good refreshment of what I learned in the past anyway.
This is my self-study page for the book, "Introduction to Algorithm", or commonly known as CLRS. This is also my diary page of how I struggle and grow in the programming world. I hope this blog can help amateurs or professionals, to improve their skills in programming, learning and living. As of Sep 12, 2011, I finished the "exercise read" of Chapter 2 (20110518) and 3 (20110608) and half of Chapter 4.
Shortcut for chapter specific information
Chapter4
(62)
chapter3
(41)
Chapter2
(22)
chapter6
(10)
chapter12
(9)
chapter15
(8)
chapter13
(7)
chapter7
(7)
Chapter10
(5)
chapter5
(5)
Appendix A
(4)
chapter8
(4)
Chapter19
(3)
Chapter22
(3)
Chapter34
(3)
Chapter35
(3)
chapter11
(3)
chapter16
(3)
chapter18
(3)
Appendix C
(2)
Chapter21
(2)
Chapter25
(2)
Chapter26
(2)
Chapter27
(2)
Chapter28
(2)
Chapter29
(2)
Chapter9
(2)
chapter14
(2)
chapter20
(2)
chapter23
(2)
chapter24
(2)
chapter30
(2)
chapter31
(2)
chapter32
(2)
Appendix D
(1)
Chapter1
(1)
Chapter33
(1)
chapter17
(1)
No comments:
Post a Comment