Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Data Structures and Algorithms for Game Developers (Game Development Series) 1st Edition
- ISBN-109781584504955
- ISBN-13978-1584504955
- Edition1st
- PublisherCharles River Media
- Publication dateMay 4, 2007
- LanguageEnglish
- Dimensions7.25 x 1.5 x 9.25 inches
- Print length560 pages
Product details
- ASIN : 1584504951
- Publisher : Charles River Media; 1st edition (May 4, 2007)
- Language : English
- Paperback : 560 pages
- ISBN-10 : 9781584504955
- ISBN-13 : 978-1584504955
- Item Weight : 2.5 pounds
- Dimensions : 7.25 x 1.5 x 9.25 inches
- Best Sellers Rank: #1,502,400 in Books (See Top 100 in Books)
- #215 in Computer Graphics
- #1,005 in Game Programming
- #3,084 in Video & Computer Games
- Customer Reviews:
About the author

Discover more of the author’s books, see similar authors, read book recommendations and more.
Customer reviews
- 5 star4 star3 star2 star1 star5 star62%31%0%0%7%62%
- 5 star4 star3 star2 star1 star4 star62%31%0%0%7%31%
- 5 star4 star3 star2 star1 star3 star62%31%0%0%7%0%
- 5 star4 star3 star2 star1 star2 star62%31%0%0%7%0%
- 5 star4 star3 star2 star1 star1 star62%31%0%0%7%7%
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on AmazonCustomers say
Customers find the book organized well with a decent overview of sorting algorithms and a well-chosen list of data structures. They appreciate the clear writing quality and the author's attention to detail.
AI-generated from the text of customer reviews
Customers appreciate the book's organization. They find it well-organized, with a decent overview of sorting algorithms and a nice introduction to data structures.
"...4. All code compiles fine with Windows Visual C++ 2008. CD is organized well.5. Screenshots of the program output is included...." Read more
"...Very well written: good organization, clear and clean language. It is never a drag, you never have to jump around pages or reread something...." Read more
"...description of how a tree and a graph differ, and a decent overview of sorting algorithms...." Read more
"Nice Introduction, very well chosen list of Data Structures..." Read more
Customers appreciate the book's writing quality. They find the language clear and the organization good. The author is also praised for her attention to detail and fast responses to questions.
"...1. This book is not boring. It is very clear and the author's writing is brilliant.2. The way it is organized is impressive. No jumping around...." Read more
"...Very well written: good organization, clear and clean language. It is never a drag, you never have to jump around pages or reread something...." Read more
"...As a bonus, the author is very friendly and attentions, replying fast and throughly any question concerning the book." Read more
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
1. This book is not boring. It is very clear and the author's writing is brilliant.
2. The way it is organized is impressive. No jumping around. Rarely have I ever read a book with the sections within the chapters organized so methodically.
3. Uses the C++ STL in addition to the custom routines. You learn better this way.
4. All code compiles fine with Windows Visual C++ 2008. CD is organized well.
5. Screenshots of the program output is included. Very helpful in case you are away from a PC.
6. Good introduction to BSP Trees.
7. The author explains code where it is needed but does not spoon feed you.
This is a 5/5 stars book. I strongly recommend to Engineers who write C++ (I'm a hardware Electrical Engineer and write C++ maybe 35% of the time).
1) Very well written: good organization, clear and clean language. It is never a drag, you never have to jump around pages or reread something. It's probably a better introduction for those seeking a C++ algorithm or data structure book than Sedgewick or Josuttis (though in the end, this is no replacement, after reading this it is essential to read those books anyways).
2) Methodology is great: he first works an example that shows how some concepts might be implemented, and then he moves to explain the real thing. For example, he first did a custom UnorderedArray template class, and then explains the STL's vector class template.
3) He often points the advantages of using an algorithm or data structure, and goes as far as showing the (very) basic mechanics of the big-O notation.
4) Even if this book is oriented for beginners, there is something here for everyone.
5) The CD that comes with the book is pretty complete: not only it comes with the files to run the demos, but he even includes the figures and graphs that are printed in the book in a digital picture format.
The other reviewers have failed to provide any meaningful disadvantages for this book, which is why I bought it in the first place, but there are some things you should consider:
1) The author has some bad C++ programming habits, which comes as a surprise, given how much the industry professionals stress the need for better C++ code. Evidence: just look at all the "Write Better C++ Code" books out there (e.g. Exceptional C++ and Effective C++ are two great books on the topic). Getting into specifics: all of his classes methods are inline member functions (in C++, all functions that are defined inside the class definition are considered to be inline), ALL of them. It is weird that someone who talks so much about optimization goes as far as making everything inline, when some of the functions are obviously not good inline candidates, some are actually very involved, and the advantages won by making them inline are outweighed by the disadvantages.
He never provides function declarations either. Never.
Another thing: he uses way too many macros in his custom code. He even commits the atrocity of making function-like macros. A great example of this is the BitArray class almost at the very beginning of the book. In fact, all his macros make great inline candidates, and making them so would be much more efficient (and more legible) than function-like macros. That particular BitArray example was a pain for me; I almost died a little bit.
There are more of these, but here I've written the ones that have stayed with me.
2) Some STL concepts, like iterators, are explained throughout the whole book bit by bit. This might not be a disadvantage for some, but speaking for myself, I like to understand something clearly before any attempt to move forward.
I hope this helps you understand the nature of this book better, and the shortcomings it has. This is no 5-start, but not because it's methodology, writing or editing, these are in fact very good. The thing is: why would the author want to expose beginners to such bad code? (I know, he probably doesn't, but he should've gotten a professional opinion on his code. Honestly, I doubt he did).
----------------------------------------------------------------------
UPDATES
----------------------------------------------------------------------
EDIT: Ok, now that I think about it, maybe the author decided to make all functions inline for the sake of simplicity, as Java and C# users are not that used to seeing function declarations and whatnot. Still, He should've said that those were his intensions anyways. As for the function-like macros, I've been unable find a suitable excuse.
EDIT #2: There is an implementation error in one of the classes developed by the author. More precisely, the Linear Probing Hash Map demo. The problem is that the Delete and Find functions of the HashMap class do not take into account deletion prior finding on keys that generate the same hash values. I've been trying to contact Mr. Sherrod to propose a solution, but I have not heard a reply of either him, or Cengage Learning. The solution is a bit involved, so anyone interested in it can contact me.
This book, through simple and effective examples teaches the most fundamental data structures that an efficient game engine will need for sure.
Those algorithms and data structures are also a very good toolbox that anyone who plans to get serious with programming business should be. Be it games or commercial applications. Even if you would never code yourself a hash table, knowing what one does is a very powerful information. And this book will give you this information.
As a bonus, the author is very friendly and attentions, replying fast and throughly any question concerning the book.
It also gives a clear description of how a tree and a graph differ, and a decent overview of sorting algorithms.
Though originally written for game programmers, it is useful for anyone studying for a coding interview, and also for students of AI (where search algorithms abound).
The topics and structures in this book are great, and clearly explained. If you are not familiar with the basic data structures used in programming, then I suggest reading this book front to back. Don't worry if you don't get everything at once, so long as you get an idea of what the various structures and algorithms are. When you actually need to implement them it is easy to find the information that you need.