Data Structures in Java : From Abstract Data Types to the Java Collections Framework

Data Structures in Java : From Abstract Data Types to the Java Collections Framework

  • ただいまウェブストアではご注文を受け付けておりません。 ⇒古書を探す
  • 製本 Paperback:紙装版/ペーパーバック版/ページ数 658 p.
  • 言語 ENG
  • 商品コード 9780321392794
  • DDC分類 005.133

Full Description


Simon Gray's consistent and coherent approach to data structures teaches students to focus on software design and testing as they learn to develop high-quality software programs. He introduces each collection as an abstract data type and then guides students through a design process. This effective model illustrates that construction of high-quality software requires careful planning. With Gray's methodology, students become independent problem solvers by repeated practice planning, creating, testing, implementing, and then analyzing their work. Students also gain experience using an industry-standard library, while developing an understanding of what goes into creating such a library.

Contents

Chapter 0 Introduction to What We Will be Studying 0.1 Abstraction0.2 Algorithms0.3 Object-Oriented Programming0.4 The Software Life Cycle0.5 Software Testing0.6 The Unified Modeling Language: Using Pictures to Express Design0.7 Software Design Patterns: Applying Proven Solutions to New Problems0.8 Collections and the Java Collections FrameworkExercisesChapter 1 Object-Oriented Programming and Java 1.1 Abstraction and Abstract Data Types1.2 The Object-Oriented Approach1.3 Code Reuse Through Composition and InheritanceInvestigate: Inheritance, Packages, and Access Modifiers1.4 Polymorphism and Generic Programming1.5 Case Study: a Shapes Hierarchy1.6 Java Generic TypesExercisesChapter 2 Error Handling, Software Testing, and Program Efficiency2.1 Error Handling with Exceptions2.2 Software Testing2.3 Analysis and Measurement of AlgorithmsExercisesChapter 3 Fundamental Data Structures: The Array and Linked Data Structures3.1 The Array Data Structure3.2 Array Operations3.3 The Linked Data Structure3.4 A Generic Singly Linked Data Structure3.5 The Doubly Linked Data Structure3.6 The Circular Linked List3.7 Selecting a Data Structure3.8 Focus on Problem Solving: The ACME Courier Company ExercisesChapter 4 A Basic Collection Class4.1 The Collection Interface in the Java Collections Framework4.2 Iterators and the Iterator Design Pattern4.3 Collection Basics: Objects, Casting, Operations, and Iterators4.4 Developing a Test Plan for BasicCollection4.5 Testing with JUnit4.6 The java.util.AbstractCollection Abstract Class4.7 More Java Generics: Inheritance, Wildcards, and Generic Methods4.8 Implementation of the BasicCollection Class4.9 Analysis of the ImplementationInvestigate: equals(), hashcode(), and toArray()4.10 CloningExercisesChapter 5 The List Abstract Data Type5.1 List Description5.2 The List ADT5.3 The List Interface in the Java Collections Framework5.4 Designing a Test Plan5.5 Focus on Problem Solving: CourierModel RevisitedInvestigate: The Serializable Interface - Adding Persistence to the Courier Application 5.6 A Linked List Implementation of the List ADT5.7 Implementing the Test Plan5.8 Analysis and MeasurementExercisesChapter 6 The Stack Abstract Data Type6.1 Stack Description 6.2 Stack Specification6.3 The Stack Interface6.4 Designing a Test Plan6.5 Focus on Problem Solving: Evaluation of Postfix Expressions6.6 Stack Implementation: ListStack-Using the Adapter Design Pattern6.7 Stack Implementation: ListStack-Using a Linked Data Structure6.8 Implementing the Test Plan6.9 Evaluation of the ImplementationsInvestigate: Measuring the Cost of Using and AdapterExercisesChapter 7 The Queue Abstract Data Type7.1 Queue Description7.2 Queue Specification 7.3 The Queue Interface7.4 Designing a Test Plan7.5 Focus on Problem Solving: The Leaky Bucket Algorithm7.6 List Implementation Using the Adapter Design Pattern7.7 ArrayQueue: Implementing Queue Using an Array7.8 Testing the Implementation7.9 Evaluation of the ImplementationsInvestigate: A First Look at Priority QueuesExercisesChapter 8 Recursion8.1 What Is Recursion?8.2 Recursive Definitions8.3 Problem Definitions and Recursive Programming8.4 Recursion as Iteration8.5 Evaluating Recursion8.6 Focus on Problem Solving: Cell Identification in MineSweeperInvestigate: Simulating Recursion Using Loops and a StackExercisesChapter 9 Sorting and Searching9.1 Sorting Terminology9.2 Sorting Primitive Types in an Array9.3 Comparing Objects9.4 Sorting Lists and Linked ListsInvestigate: Using Comparators to Sort WorkOrders9.5 Searching for Objects9.6 Focus on Problem Solving: External SortingExercisesChapter 10 Trees10.1 Tree Terminology10.2 Binary Tree Description10.3 Binary Tree Specification10.4 Implementations of the Binary Tree ADT10.5 Heaps and Binary Trees10.6 Focus on Problem Solving: Data Compression Using Huffman TreesInvestigate: A Second Look at Priority QueuesExercisesChapter 11 Binary Search Trees11.1 The Binary Search Tree ADT11.2 Linked Implementation of BinarySearchTree11.3 Focus on Problem Solving: A Modifiable Spell Checker11.4 The Need for a Balanced Search Tree11.5 AVL Tree: A Balanced Binary Search TreeeInvestigate: Finding the kth Smallest Element in a Binary Search Tree11.6 Splay Tree: A Self-Adjusting Binary Search TreeExercisesChapter 12 The Map ADT12.1 The Map ADT12.2 Focus on Problem Solving: A Pizza Ordering System12.3 Hashing and Hash Tables12.3 HashMap: A Hash Table Implementation of Map12.3.1 Testing HashMapInvestigate: Radix Sort12.4 Ordered Map12.5 MultiMapExercises

最近チェックした商品