Art of Computer Programming, Volumes 1-4A Boxed Set, The (Box Set) (英語) ハードカバー – 2011/3/3
Kindle 端末は必要ありません。無料 Kindle アプリのいずれかをダウンロードすると、スマートフォン、タブレットPCで Kindle 本をお読みいただけます。
The bible of all fundamental algorithms and the work that taught many of today’s software developers most of what they know about computer programming.
—Byte, September 1995
Countless readers have spoken about the profound personal influence of Knuth’s work. Scientists have marveled at the beauty and elegance of his analysis, while ordinary programmers have successfully applied his “cookbook” solutions to their day-to-day problems. All have admired Knuth for the breadth, clarity, accuracy, and good humor found in his books.
I can’t begin to tell you how many pleasurable hours of study and recreation they have afforded me! I have pored over them in cars, restaurants, at work, at home… and even at a Little League game when my son wasn’t in the line-up.
Primarily written as a reference, some people have nevertheless found it possible and interesting to read each volume from beginning to end. A programmer in China even compared the experience to reading a poem.
If you think you’re a really good programmer… read [Knuth’s] Art of Computer Programming… You should definitely send me a résumé if you can read the whole thing.
Whatever your background, if you need to do any serious computer programming, you will find your own good reason to make each volume in this series a readily accessible part of your scholarly or professional library.
It’s always a pleasure when a problem is hard enough that you have to get the Knuths off the shelf. I find that merely opening one has a very useful terrorizing effect on computers.
In describing the new fourth volume, one reviewer listed the qualities that distinguish all of Knuth’s work.
[In sum:] detailed coverage of the basics, illustrated with well-chosen examples; occasional forays into more esoteric topics and problems at the frontiers of research; impeccable writing peppered with occasional bits of humor; extensive collections of exercises, all with solutions or helpful hints; a careful attention to history; implementations of many of the algorithms in his classic step-by-step form.
These four books comprise what easily could be the most important set of information on any serious programmer’s bookshelf.
Donald E. Knuth is known throughout the world for his pioneering work on algorithms and programming techniques, for his invention of the TEX and METAFONT systems for computer typesetting, and for his prolific and influential writing (26 books, 161 papers). Professor Emeritus of The Art of Computer Programming at Stanford University, he currently devotes full time to the completion of his seminal multivolume series on classical computer science, begun in 1962 when he was a graduate student at California Institute of Technology. Professor Knuth is the recipient of numerous awards and honors, including the ACM Turing Award, the Medal of Science presented by President Carter, the AMS Steele Prize for expository writing, and, in November, 1996, the prestigious Kyoto Prize for advanced technology. He lives on the Stanford campus with his wife, Jill.
Amazon.com で最も参考になったカスタマーレビュー (beta)
There is a lot of history which Knuth makes interesting by stating which algorithms were remarkable discoveries and which were logical extensions of other algorithms. The analysis is much more in depth than other authors especially with regards to run time performance.
At the end of each section there are tons of problems to solve, and full answers are in the back. I especially liked how each problem has a rating on its difficulty. For example, a problem with a rating 10 is easy, rating 25 might take an hour... up to rating 50 which is an unsolved problem in computer science.
Volume one starts with the first 150 pages being math related to computer science. Then the assembly language is introduced which many of the algorithms are written in. The choice for assembly was made so as to not commit to one specific language's paradigm.
Volume two gets into the heart of the algorithms. A lot of interesting things about floating point calculations, and prime number discovery. My overall understanding of computer science improved a ton here.
Volume three was my personal favorite. Knuth explains searching and sorting very well. The evolution of the "trie" data structure was impressive. At first he shows a way to make a trie in a way I had never seen before. Then he showed another way, and finally he got to the modern way I had seen. With this knowledge, I understood how the trie was discovered, how it was improved, and then improved again. Every other algorithm book just shows the modern trie without explaining how they got there.
Volume four is heavy on math again with a lot about permutations and combinatorics. This was the most difficult of the books I felt but also rewarding.
Knuth's writing is excellent. Each sentence is clear and communicates in a way that makes computer history interesting.
The box set itself is beautiful and the paper is high quality. I wish I could give more than 5 stars for the review.
Do yourself a favor. Buy these books, read through them, and try to complete the exercises. I promise you will become a significantly better programmer, regardless of your current skill level.
update: This book makes me doubt my 5 years' computer science education, the stuff I have learned before is like joke.