The 3rd edition of Introduction to Algorithms by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein, better known at MIT as “CLRS” or “the 6.046 textbook,” came out last month. Leiserson and Rivest are professors in Course VI. In addition to 100 new exercises and 28 new problems, the new edition features a whole new section on multithreading.
In an interview with the MIT Press, Leiserson explained, “Multithreading has become a really hot topic in Computer Science because of the wide availability now of parallel computers. It’s hard to buy a single processor computer now. That wasn’t the case when we published the last edition. [...] suddenly there’s a huge need for people to understand how to program these multicore processors.”
The new multithreading chapter covers some key ideas from Leiserson’s research in the area of parallelism, such as the ratio between work (the amount of time a serial program takes to execute) and span (the critical pathway of the computation). The chapter also covers topics like race conditions and reliability.
The new edition is much more focused on working through examples in order to make it more accessible to practitioners and students. Every algorithm in the book has been implemented and tested by Cormen. The authors have aimed to make it easy for the readers to implement and test their own code based on the examples in the books by providing easy-to-learn pseudocode for all of the new material.
The main goal of the new edition is to put the current explosion in algorithms research in a palatable form for both academia and industry. “The more students and practitioners can become familiar with algorithms, the better the code we’ll see, the more value will be created in our economy, and the more fun people will have with the notions of computing and computer science,” Leiserson told the MIT Press.
Cormen and Stein are professors of computer science at Darthmouth and Columbia, respectively.