George T. Heineman is an Associate Professor of Computer Science at WPI. His research interests are in Software Engineering. He co-edited the 2001 book "Component-Based Software Engineering: Putting the Pieces Together". He was the Program Chair for the 2005 International Symposium on Component-Based Software Engineering.
Aside from his professional pursuits, George is an avid puzzler. He invented Sujiken®, a Sudoku variation played on a right-triangle arrangement of cells in which numbers cannot repeat in a horizontal row, vertical column or diagonal in any direction. See more at http://www.sujiken.com.
Many of the algorithms presented in the book can take advantage of multi-core chips by using threads. In this column we explore effective uses of threads and report on situations where using threads will not help. read more
Computational Geometry is the study of geometric algorithms and the data structures that enable their efficient implementation. We present algorithms that solve the Line Segment Intersection problem and describe challenges in validating their implementation read more
Many real-world transportation networks (i.e., highways, power grids, water subsystems) can be represented as Flow Networks. The Ford-Fulkerson technique describes an approach to solve numerous cost optimization problems. read more
You need two different techniques for optimizing the performance of an algorithm. Sometimes you improve upon the algorithm; sometimes you improve the way the algorithm is implemented. Both techniques are essential to applying algorithms properly. read more
We describe how to use recursive backtracking to solve a search problem. We design a staged deepening algorithm to solve FreeCell solitaire games. This material is not drawn from the book, but rather helps to place the graph searching algorithms in a better context. read more
In the second monthly column for the blog associated with the Algorithms in a Nutshell, we investigate searching algorithms and reaffirm the ability for hash-based search to provide an efficient implementation. read more
This is the first of a series of monthly columns in the blog associated with the Algorithms in a Nutshell, published October 2008 by O'Reilly Media, Inc. All algorithms are fully implemented and available in the online code repository associated with the book. read more
"It must be noted that much of this book is covered in some way by university-level computing degrees. Nonetheless, one tends to forget the principles and the algorithms themselves. One develops one's handful of favourites. This book helps one to keep playing with a full deck."
--Al Lukaszewski, About.com
"This book is a "keeper" - make room for it on your bookshelf as it's essential reading."
--Mike James, I Programmer
"Overall, this is a great book for developers looking for more tools in their arsenals. As you might suspect, this is not really a book to read cover to cover unless it's for a class. But it provides a clear and well laid out approach to some of the many algorithms that exist today in computer programming. It isn't an exhaustive list, but it certainly provides a great cross-section from which you could continue your search."
--Brian Fitzpatrick, Blogcrititcs Magazine