Shop now Shop now Shop now Shop All Amazon Fashion Up to 70% off Fashion Cloud Drive Photos Shop now Shop Amazon Fire TV Shop now Shop Fire HD 6 Learn More Shop now Shop now Shop now
Trade in your item
Get a £12.10
Gift Card.
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

Data Structures and Algorithms for Game Developers (Charles River Media Game Development) Paperback – 4 May 2007

1 customer review

See all formats and editions Hide other formats and editions
Amazon Price New from Used from
"Please retry"
£77.99 £43.28

Special Offers and Product Promotions

  • Save £20 on with the aqua Classic card. Get an initial credit line of £250-£1,200 and build your credit rating. Representative 32.9% APR (variable). Subject to term and conditions. Learn more.

Product details

  • Paperback: 700 pages
  • Publisher: Delmar; 1 Pap/Cdr edition (4 May 2007)
  • Language: English
  • ISBN-10: 1584504951
  • ISBN-13: 978-1584504955
  • Product Dimensions: 23.5 x 19.2 x 3.4 cm
  • Average Customer Review: 5.0 out of 5 stars  See all reviews (1 customer review)
  • Amazon Bestsellers Rank: 1,956,250 in Books (See Top 100 in Books)
  • See Complete Table of Contents

More About the Author

Discover books, learn about writers, and more.

Inside This Book

(Learn More)
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index | Back Cover
Search inside this book:

Customer Reviews

5.0 out of 5 stars
5 star
4 star
3 star
2 star
1 star
See the customer review
Share your thoughts with other customers

Most Helpful Customer Reviews

By Leinsaviik on 4 Mar. 2015
Format: Paperback Verified Purchase
great for C++ game development data structures
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Helpful Customer Reviews on (beta) 6 reviews
13 of 14 people found the following review helpful
The book is good, but it has some shortcomings 1 Mar. 2010
By Estefano Palacios Topic - Published on
Format: Paperback Verified Purchase
I don't like to retype what others have already said, so I'll quickly go through some of the positives this book has:

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).


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.
3 of 3 people found the following review helpful
Should just be titled "Data Structures and Algorithms" 9 July 2010
By Nicholas DiMucci - Published on
Format: Paperback
This is a decent C++ data structures book. Everything is explained clearly and concisely, sometimes not enough detail is provided though. I don't know why this is titled "...for Game Developers", there's nothing in this book that makes it more appropriate for game developers. Occasionally the author will state things like "this data structure is good for keeping a list of players" and nothing more. I guess that's about the best you can do when trying to aim for a particular demographic.

Regardless, I recommend this book for any C++ programmer that just wants a primer on data structures. If you need a more full blown, highly detailed, complex book, look elsewhere.
Good coverage of data structures 23 April 2009
By DDR SL - Published on
Format: Paperback Verified Purchase
This book provides excellent coverage of data structures. Of course many data structures books do this but the differences are

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).
Excellent Reference 8 Sept. 2009
By Jonathan K. Hoopes - Published on
Format: Paperback
I would say this book is geared more for the intermediate programmer. If you already have the basics of c++ down, then this book will get you into the inner depths of exactly how things are implemented in the STL.If you alreadt know how they are implemented, or have an idea, this book serves as a handy reference. Also, it has some interesting chapters about where and how certain structures are used for bot pathing and other video game techniques.

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.
Nice Introduction, very well chosen list of Data Structures 16 Sept. 2009
By Fabio Fonseca - Published on
Format: Paperback Verified Purchase
Many of the beginners videogame programmers starts with some book that teaches the basics of graphic, event, sound handling, but fails short on the basic theoretical background that they will need to have as soon as their projects get bigger.

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.
Were these reviews helpful? Let us know