That feeling shouldn't be fuzzy in any parts. If you feel hesitant on some small detail, then the learning is bad.
By itself Chapter 2 is also a good introduction to sorting as well because most of the analysis and exercises focus on sorting. If all the exercises are done (including the sectionals and chapter-ends), then one would get a good feel of insertion, selection, merge and bubble sort. Pretty good value for a chapter.
Feeling an algorithm is one thing, understanding an algorithm means you grok it - my definition of groking:
- You can write it in pseudo.
- You can write it in compilable and workable C, Java, Perl, Python, Assembly and Lisp without using a compiler.
- You understand the worst, the average and the best case analysis of the code.
- You know all the standard variations, in the case of insertion, I need to know Shell.
- You know the latest development, in the case of insertion, I need to know Library.
- You know the relationship of the algorithm with other algorithms. To understand this relationship, it should be defined as the first 5 points above as well.
- You can propose a better algorithm than what are published.
It's ok, it could be tough to be an expert on every algorithm. I will use my usual approach : First read of the book can be shallow but always requires myself to finish all exercise before my read counts as real.
33_P
No comments:
Post a Comment