附註:Includes bibliographical references and index.
""Contents""; ""Letter from the Series Editor""; ""Introduction""; ""Part One: Concepts""; ""CHAPTER 1 BASIC ALGORITHM ANALYSIS""; ""A Quick Lesson on Algorithm Analysis""; ""Graphical Demonstration: Algorithm Complexity""; ""Conclusion""; ""CHAPTER 2 TEMPLATES""; ""What Are Templates?""; ""Template Functions""; ""Template Classes""; ""Multiple Parameterized Types""; ""Using Values as Template Parameters""; ""Problems with Templates""; ""Visual C++ and Templates""; ""Under the Hood""; ""Conclusion""; ""Part Two: The Basics""; ""CHAPTER 3 ARRAYS""; ""What Is an Array?""
""Graphical Demonstration: Arrays""""Native C Arrays and Pointers""; ""An Array Class and Useful Algorithms""; ""Storing/Loading Arrays on Disk""; ""Application: Using Arrays to Store Game Data""; ""Analysis of Arrays in Games""; ""Conclusion""; ""CHAPTER 4 BITVECTORS""; ""What Is a Bitvector?""; ""Graphical Demonstration: Bitvectors""; ""Creating a Bitvector Class""; ""Application: The Quicksave""; ""Bitfields""; ""Analysis of Bitvectors and Bitfields in Games""; ""Conclusion""; ""CHAPTER 5 MULTI-DIMENSIONAL ARRAYS""; ""What Is a Multi-Dimensional Array?""; ""Graphical Demonstration""
""Native Multi-Dimensional Arrays""""Dynamic Multi-Dimensional Arrays""; ""Application: Using 2D Arrays as Tilemaps""; ""Application: Layered Tilemaps""; ""Analysis of Multi-Dimensional Arrays in Games""; ""Conclusion""; ""CHAPTER 6 LINKED LISTS""; ""What Is a Linked List?""; ""Singly Linked Lists""; ""Doubly Linked Lists""; ""Reading and Writing Lists to Disk""; ""Application: Game Inventories""; ""Application: Layered Tilemaps Revisited""; ""Analysis and Comparison of Linked Lists""; ""Conclusion""; ""CHAPTER 7 STACKS AND QUEUES""; ""Stacks""; ""Queues""; ""Conclusion""
""CHAPTER 8 HASH TABLES""""What Is Sparse Data?""; ""The Basic Hash Table""; ""Enhancing the Hash Table Structure""; ""Graphical Demonstration: Hash Tables""; ""Implementing a Hash Table""; ""Application: Using Hash Tables to Store Resources""; ""Conclusion""; ""CHAPTER 9 TYING IT TOGETHER: THE BASICS""; ""Why Classes Are Good""; ""Storing Data in a Class""; ""Making a Game""; ""Conclusion""; ""Part Three: Recursion and Trees""; ""CHAPTER 10 RECURSION""; ""What Is Recursion?""; ""The Towers of Hanoi""; ""Graphical Demonstration: Towers of Hanoi""; ""Conclusion""; ""CHAPTER 11 TREES""
""What Is a Tree?""""Graphical Demonstration: Trees""; ""Building the Tree Class""; ""The Tree Iterator""; ""Building a Tree""; ""Traversing a Tree""; ""Game Demo 11-1: Plotlines""; ""Conclusion""; ""CHAPTER 12 BINARY TREES""; ""What Is a Binary Tree?""; ""Structure of Binary Trees""; ""Graphical Demonstration: Binary Trees""; ""Coding a Binary Tree""; ""Traversing the Binary Tree""; ""Application: Parsing""; ""Conclusion""; ""CHAPTER 13 BINARY SEARCH TREES""; ""What Is a BST?""; ""Graphical Demonstration: BSTs""; ""Coding a BST""; ""Application: Storing Resources, Revisited""; ""Conclusion""