21 February 2010

Book Review: Algorithm Design

Algorithm Design by Kleinberg and Tardos is a good handbook on algorithms, the best I've seen so far in terms of balancing theoretical understanding and practical concerns. Examples that are given often have a realism lacking in other texts, showing a concern for practitioners who may want to see how these algorithms could actually be useful.

On the other hand, the succinctness of the writing style meant I had to read passages several times to understand fully the concepts being explained (ie, it required a close reading, as we might say in philosophy writing). This is, I think, a good thing: rereading well written passages is more effective than reading repetitious passages once through anyway.

Especially in the chapters regarding NP completeness and approximation algorithms, the "tone" of the writing definitely turned much more mathematical, and that's especially when a good mathematical background is helpful.

Largely because of the succinctness of the writing style and assumed mathematical background, I would say this is more of an advanced upper-undergraduate level textbook, or a good introductory text at the graduate level. I'm afraid at the introductory level for undergraduates, this text may serve more to instil confusion (a better text at the undergraduate introductory level may be Introduction to Algorithms, which I also reviewed).

If you're looking for an advanced algorithms textbook, I would definitely recommend it.

No comments: