Donald Knuth just published Volume 4A of his magnum opus The Art of Computer Programming. It’s strange to think that he needed 2000 pages to cover the very basic (or I should say “fundamental”) ideas of random numbers, sorting, and searching. I’ve read about 20 pages total of Volume 2 that covered random number generation. The writing was incredibly clear, precise, and easy to grasp. I hear that the “easy to grasp” part is however not the case for majority of his work. He gets deep, walking the fine line between difficult exercises and open research problems.
Much like Marx’s Das Capital, The Bible, and the United State Constitution, Knuth’s “The Art of Computer Programming” is a text that many people admire without having read much more of it than a few pages. It seems that for a computer scientist this book represents some deeply impossible challenge to be overcome at some undefined future time.
For me, it doesn’t get better than Introduction to Algorithms for the complete (and sufficiently challenging) coverage of basic algorithms. I’ll save Knuth for my bookshelf and my dreams, to be read after I finally prove that P=NP in the margins of a notebook I bought at seven eleven last week.