Algorithms and Data Structures With Applications to Graphics and Geometry
Jurg Nievergelt, ETH Zurich
Klaus Hinrichs, University of Muenster
Copyright Year: 2011
Publisher: Global Text Project
Language: English
Read this book
Conditions of Use
Attribution
CC BY
Reviews
This book is not intended to be a comprehensive introduction to algorithms and data structures. For this, there are other books. Instead, the authors have focused on a smattering of fundamental topics that provide the student with tools for the... read more
This book is not intended to be a comprehensive introduction to algorithms and data structures. For this, there are other books. Instead, the authors have focused on a smattering of fundamental topics that provide the student with tools for the study of other topics that were left out in the book. This book is not for beginners  and it does not teach students how to program. Throughout the book, algorithmic and data structurerelated ideas are cast in Pascalstyle pseudocode that has the benefit of being easy to assimilate and has none of the complications of "modern" programming languages. As the title suggests, this is not a dry text on algorithms and data structures. There is a welcome emphasis on applying the algorithms and the data structures covered to real problems in computer graphics and geometry. In fact, Part VI of the book is intended to show the usefulness of data structures for the purpose of efficient implementation of algorithms that manipulate geometric objects. In spite of being a comprehensive compendium of algorithms and data structures, the book can, and has been used successfully, in undergraduate courses dealing with algorithm design and data structures. It can also be used for selfstudy by all those who wish to broaden their horizon and wish to acquire a solid footing in the fundamentals of computer science.
The book is highly accurate and has been tested by the authors in their classes for decades
This is not a new book. It was published (with the same title) in 1993 by Prentice Hall. The topics covered and their tested relevance guarantee that it will always be fresh and timely. I can say without hesitation that his is one of the fundamental books in the computer science literature.
The authors are well known compete scientists and educators. They pedagogical style is perfect. This said, the book is not for everyone. It assumes that the reader has been exposed to the fundamentals of programming.
This book is consistent to the extreme. Notation is consistent endtoend and the coverage of topics is masterfully orchestrated in a coherent and pleasant way. Each chapter starts out by enumerating the learning objectives and presents motivation for the study of the chapter.
The book is organized into six parts, each of them partitioned into several chapters. The parts are both independent of each other and, at the same time, build on ideas mentioned in previous parts and chapters. It is an exemplary way of organizing a successful book.
The algorithmic and data structure topics are organized in a natural order. The various topics are motivated, discussed in some detail and then consolidated by showing how they apply to real problems selected from computer graphics and geometry.
Flawless, I could not identify and problems here.
The authors are using perfect English. I was unable to identify any grammatical errors or typos
The book does not further any hidden agenda and is not offensive in any way.
I highly recommend this book to all those who wish to acquire a solid footing in the design of algorithms and data structures.
Table of Contents
Part I: Programming environments for motion, graphics, and geometry
 1. Reducing a task to given primitives: programming motion
 2. Graphics primitives and environments
 3. Algorithm animation
Part II: Programming concepts: beyond notation
 4. Algorithms and programs as literature: substance and form
 5. Divideandconquer and recursion.
 6. Syntax
 7. Syntax analysis
Part III: Objects, algorithms, programs.
 8. Truth values, the data type 'set', and bit acrobatics
 9. Ordered sets
 10. Strings
 11. Matrices and graphs: transitive closure
 12. Integers
 13. Reals
 14. Straight lines and circles
Part IV: Complexity of problems and algorithms
 15. Computability and complexity
 16. The mathematics of algorithm analysis
 17. Sorting and its complexity
Part V: Data structures
 18. What is a data structure?
 19. Abstract data types
 20. Implicit data structures
 21. List structures
 22. Address computation
 23. Metric data structures
Part VI: Interaction between algorithms and data structures: case studies in geometric computation
 24. Sample problems and algorithms

25. Planesweep: a generalpurpose algorithm for twodimensional problems illustrated using line segment intersection

26. The closest pair
About the Book
An introductory coverage of algorithms and data structures with application to graphics and geometry.
About the Contributors
Authors
Jürg Nievergelt has been full Professor of Computer Science at the ETH Zurich from 1975 until his retirement in 2003. J. Nievergelt received a degree in mathematics from the ETH in 1962, and a Ph.D. in mathematics from the University of Illinois in 1965. From 196577 he was on the faculty of Computer Science at the University of Illinois at UrbanaChampaign, from assistant professor to full professor. Since 1975 professor of computer science at ETH Zurich. On leave from ETH 198589 he was Kenan Professor and chairman of the Computer Science Dept. at the Univ. of North Carolina at Chapel Hill. Visiting appointments include NTT's Yokosuka Electrical Communications Lab, Visiting IBM Professor at Keio University, and Visiting Professor at the National University of Singapore. He is a Fellow of ACM, IEEE and AAAS. Research Interests: Algorithms and data structures; interactive systems; user interfaces; heuristic and exhaustive search, parallel computation.
Klaus Hinrichs, Professor at University of Muenster.