Review of Computational Geometry: Algorithms and Applications (2nd ed.) by Mark de Berg, Marc van Kreveld, Mark Overmars, and Otfried Schwarzkopf

Computational Geometry is a wide-ranging introductory text which exposes readers to the main themes in modern computational geometry. Each chapter introduces a subfield of computational geometry, via natural problems and basic algorithms; exercises and notes help to flesh out the chapter material. This second edition of the book is obviously the product of much effort by the authors, and although some improvements are possible, on the whole this book is worth considering both as a text for a first computational geometry course and as a refresher on basic concepts.Features of interest include:Beginning each chapter with a motivating real-world example, to naturally introduce the algorithms. The solution of this example leads to the key algorithmic idea of the chapter.Emphasis on derivation of algorithms, as opposed to a cookbook-style presentation. The authors often spend a large amount of time to work through several suboptimal solutions for a problem before presenting the final one. While not suitable for the already-knowledgeable practitioner, this gives the far-larger category of students or other less-than-expert readers training in the process of generating new algorithms.Good layout, with wide margins containing intuition-generating diagrams. The Notes and Comments section at the end of each chapter also provides useful orientation to further algorithms and context in each subfield.Wide coverage of algorithms. As the authors say: "In general we have chosen the solution that is most easy to understand and implement. This is not necessarily the most efficient solution. We also took care that the book contains a good mixture of techniques like divide-and-conquer, plane sweep, and randomized algorithms. We decided not to treat all sorts of variations to the problems; we felt it is more important to introduce all main topics in computational geometry than to give more detailed information about a smaller number of topics."