New Game Shows. Winning Wednesdays on Prime.
Buy used:
$18.66
FREE delivery December 26 - 31. Details
Or fastest delivery December 24 - 27. Details
May arrive after Christmas. Need a gift sooner? Send an Amazon Gift Card instantly by email or text message.
Used: Very Good | Details
Condition: Used: Very Good
Comment: May have limited writing in cover pages. Pages are unmarked. ~ ThriftBooks: Read More, Spend Less
Access codes and supplements are not guaranteed with used items.
Kindle app logo image

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.

QR code to download the Kindle App

Follow the author

Something went wrong. Please try your request again later.

Data Structures and Algorithms for Game Developers (Game Development Series) 1st Edition

4.4 4.4 out of 5 stars 14 ratings

Data structures and algorithms are used in every application written, and with the complexity of 3D virtual worlds and game environments growing every year, the need to manage this data efficiently is critical for programmers of all levels. For game development, the way data is managed, stored, and manipulated is critical to a games performance effectiveness and efficiency. So to be successful as a game programmer, you have to know how to create data structures and write algorithms for maximum performance. Data Structures and Algorithms for Game Developers teaches the fundamentals of the data structures and algorithms used in game development. This book provides programmers with a detailed reference to what data structures and algorithms are, and why they are so critical in game development. It teaches new game programmers, students, and aspiring game developers how to create data structures and write algorithms using C++. All key features of C++ are also covered, especially those related to game development. The book also presents practical alternative options in C++ where applicable, such as using C++s STL in professional applications instead of implementing custom routines. Additionally, a demo application is included in each chapter focusing on the data structure and/or algorithms presented in that chapter. The book covers many modern topics that game and graphics programmers must know to be successful, including geometry management techniques, and data structures and algorithms such as KD-Trees, Binary Space Partitioning Trees, Sphere Trees, etc The code written in this book is not dependent on any specific hardware or operating system so it will be useful across different systems, and every chapter ends with questions, exercises, and challenges for the reader to complete in order to help them better understand and apply what they learn.

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
  • Customer Reviews:
    4.4 4.4 out of 5 stars 14 ratings

About the author

Follow authors to get new release updates, plus improved recommendations.
Allen Sherrod
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

Discover more of the author’s books, see similar authors, read book recommendations and more.

Customer reviews

4.4 out of 5 stars
14 global ratings

Customers 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

Select to learn more
4 customers mention "Organization"4 positive0 negative

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

3 customers mention "Writing quality"3 positive0 negative

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

Reviewed in the United States on April 23, 2009
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).
Reviewed in the United States on March 1, 2010
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).

----------------------------------------------------------------------
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.
17 people found this helpful
Report
Reviewed in the United States on September 16, 2009
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.
Reviewed in the United States on October 3, 2019
I'm glad they finally made a Kindle edition of this book. I have had this on my shelf for many years, and find myself going back to it time and time again. No book in my library gives a better, clearer explanation of how and why to choose one data structure over another (arrays, linked list, heap, stack, etc.). I wish I had THIS book for my data structures class back in college...
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).
Reviewed in the United States on March 5, 2019
Great book to beginners and intermediate too. If you star learning game development you need this book to improve your skills.
Reviewed in the United States on September 8, 2009
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.
Reviewed in the United States on May 21, 2016
This book has nearly nothing to do with games. Of the 16 or so chapters, I believe two them remotely address topics of game design- one about states and the other about 3D modeling. Perhaps this is not the fault of the author but it really seems like they put lipstick on this pig for marketing reasons.
One person found this helpful
Report

Top reviews from other countries

mathguy
5.0 out of 5 stars Five Stars
Reviewed in Canada on August 28, 2015
Good inyroductory book on data structures with C++
Deltodon
5.0 out of 5 stars Five Stars
Reviewed in the United Kingdom on March 4, 2015
great for C++ game development data structures