Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Channels ▼

Jolt Awards

Jolt Awards: The Best Books

Jolt Finalist: The Art of Computer Programming, Volume 4A: Combinatorial Algorithms, Part 1, by Donald E. Knuth

Written by a man who has lived through all the major milestones of modern computing, computer science rock star Donald Knuth has completed his 4th volume on The Art of Computer Programming 30 years after the third volume was released.

This latest opus is as densely packed a title as the previous TAOCP books have been; and given the density of both the content and presentation, Volume 4A is one of the few computer books these days that demands to be read in traditional ink on paper format. The sheer amount of mathematical notation in the book would make all electronic editions sans a PDF version just a collection of non-reflowable JPEGs interspersed with a sprinkling of text.

Staying true to form, Volume 4A begins with Chapter 7: Combinatorial Searching, with only two subsections (Zeros and Ones, and Generating All Possibilities). Nearly half the book is dedicated to describing and presenting problems for classroom and self-study execution while the remainder provides detailed answers to the questions and four appendixes covering numerical quantities and indexes to notations, algorithms and theorems, and combinatorial problems.

Like all of Knuths's other "Art" books, Volume 4A is not intended for light reading. It may take days to work through a problem and reviewing the answer may take a few more. Because the book also assumes a high degree of comfort with mathematics, statistics, and logic transforms, readers who lack a formal mathematics background will need to devote even more time to digesting the book's contents while they brush up on the formulae and theorems used extensively throughout the book. Yet for those who persist, the payoff is significant. Reading and understanding the material in Art of Computer Programming will be a mental workout that will flex your mind muscle to take on even more strenuous real-world problems in your own work. Those who are impatient or not prepared to invest the time and effort required to grok the 800+ pages of intelligence need not apply. For everyone else dedicated to perfecting their computer science craft, Volume 4A should simply be considered part of the job requirement.

Combined with Knuth's 70+ years and the fact that this latest book is only Part 1 of Volume 4A from Knuth's proposed seven volume set with (Volumes 4B, 4C, and perhaps even a 4D and 4E as part of the plan), it is unlikely that he will be the sole author for the remaining volumes. That would be a shame, given how his voice has guided a generation of programmers to building more sophisticated systems.

Like Knuth's prior volumes, The Art of Computer Programming, Volume 4A, is a must-have book for any serious student of computer science. Regardless of the number of years of programming experience you have, you will acquire lifelong, career-boosting algorithmic insights by digesting this volume slowly.

— Mike Riley

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.