Data structures with Java
By: John R. Hubbard, Anita Huray.
Contributors: Huray, Anita.
Edition: International ed.
Publisher: Pearson Education
Published: 2004
Place of publication: London
Language: eng
Number of pages: 613
Subjects: Data structures (Computer science); Java (Computer program language)
Notes: Includes bibliographical references and index.
Table of contents: label: Chapter 1
title: Object-Oriented Programming; title: Problem Solving
pagenum: 1; title: Object-Oriented Design
pagenum: 5; title: Implementing the Software Design
pagenum: 8; title: Testing the Class
pagenum: 11; title: Implementing and Testing an Algorithm
pagenum: 14; title: The Unified Modeling Language
pagenum: 16; title: Inheritance, Aggregation, and Composition
pagenum: 18; title: Mutable and Immutable Objects
pagenum: 22; title: Chapter Summary
pagenum: 27; title: Review Questions
pagenum: 28; title: Exercises
pagenum: 29; title: Programming Problems
pagenum: 30; title: Projects
pagenum: 31; title: Answers to Review Questions
pagenum: 35; label: Chapter 2
title: Abstract Data Types
pagenum: 37; title: Concrete Data Types
pagenum: 37; title: Abstraction
pagenum: 38; title: Abstract Data Types
pagenum: 40; title: Preconditions and Postconditions
pagenum: 43; title: Using ADTs in Algorithms
pagenum: 45; title: Concrete Data Types
pagenum: 46; title: Implementing Preconditions and Postconditions
pagenum: 50; title: Using the assert Statement
pagenum: 54; title: Class Invariants
pagenum: 57; title: Inheritance and Polymorphism
pagenum: 58; title: Chapter Summary
pagenum: 61; title: Review Questions
pagenum: 62; title: Exercises
pagenum: 62; title: Programming Problems
pagenum: 67; title: Projects
pagenum: 67; title: Answers to Review Questions
pagenum: 70; label: Chapter 3
title: Arrays
pagenum: 73; title: Arrays in Java
pagenum: 73; title: Printing an Array in Java
pagenum: 77; title: Some Simple Array Algorithms
pagenum: 77; title: Arrays of Objects
pagenum: 79; title: The Sequential Search
pagenum: 80; title: Complexity Analysis
pagenum: 81; title: The Binary Search
pagenum: 84; title: The java.util.Arrays Class
pagenum: 86; title: A User-Defined IntArrays Class
pagenum: 88; title: The java.util.Vector Class
pagenum: 90; title: Multidimensional Arrays
pagenum: 94; title: Case Study: Building a Concordance
pagenum: 98; title: Chapter Summary
pagenum: 110; title: Review Questions
pagenum: 111; title: Exercises
pagenum: 111; title: Programming Problems
pagenum: 114; title: Projects
pagenum: 119; title: Answers to Review Questions
pagenum: 120; label: Chapter 4
title: Linked Structures
pagenum: 121; title: Maintaining an Ordered Array
pagenum: 121; title: Indirect Reference
pagenum: 123; title: Linked Nodes
pagenum: 125; title: Inserting an Element into a Linked List
pagenum: 133; title: Inserting at the Front of the List
pagenum: 136; title: Deleting from a Sorted Linked List
pagenum: 138; title: Nested Classes
pagenum: 139; title: Case Study: Arbitrarily Long Integers
pagenum: 141; title: Chapter Summary
pagenum: 146; title: Review Questions
pagenum: 146; title: Exercises
pagenum: 147; title: Programming Problems
pagenum: 147; title: Projects
pagenum: 149; title: Answers to Review Questions
pagenum: 150; label: Chapter 5
title: Stacks
pagenum: 151; title: The Stack ADT
pagenum: 151; title: An Array Implementation
pagenum: 153; title: Application: Evaluating Postfix Expressions
pagenum: 157; title: Case Study: Solving a Maze
pagenum: 159; title: A Linked Implementation
pagenum: 167; title: The java.util.Stack Class
pagenum: 170; title: Chapter Summary
pagenum: 171; title: Review Questions
pagenum: 171; title: Exercises
pagenum: 172; title: Programming Problems
pagenum: 172; title: Projects
pagenum: 174; title: Answers to Review Questions
pagenum: 175; label: Chapter 6
title: Queues
pagenum: 177; title: The Queue ADT
pagenum: 177; title: Case Study: Capital Gains Valuation
pagenum: 179; title: A Linked Implementation
pagenum: 181; title: Case Study: Simulation with Queues
pagenum: 184; title: Chapter Summary
pagenum: 195; title: Review Questions
pagenum: 195; title: Exercises
pagenum: 195; title: Programming Problems
pagenum: 196; title: Projects
pagenum: 197; title: Answers to Review Questions
pagenum: 198; label: Chapter 7
title: Collections
pagenum: 199; title: The Java Collections Framework
pagenum: 199; title: A Simple Collection Interface
pagenum: 200; title: Iterators
pagenum: 201; title: An AbstractCollection Class
pagenum: 203; title: An ArrayCollection Class
pagenum: 206; title: A LinkedCollection Class
pagenum: 211; title: The Complete java.util.Collection Interface
pagenum: 215; title: The java.util.AbstractCollection Class
pagenum: 218; title: Chapter Summary
pagenum: 221; title: Review Questions
pagenum: 222; title: Exercises
pagenum: 223; title: Programming Problems
pagenum: 227; title: Project
pagenum: 229; title: Answers to Review Questions
pagenum: 231; label: Chapter 8
title: Lists
pagenum: 233; title: List Classes in the Java Collections Framework
pagenum: 233; title: Bidirectional List Iterators
pagenum: 234; title: The java.util.List Interface
pagenum: 240; title: Implementing the java.util.List Interface
pagenum: 241; title: Linked Lists of Primitives and Specialized Objects
pagenum: 249; title: Case Study: Polynomial Algebra
pagenum: 251; title: Chapter Summary
pagenum: 260; title: Review Questions
pagenum: 260; title: Exercises
pagenum: 260; title: Programming Problems
pagenum: 261; title: Projects
pagenum: 262; title: Answers to Review Questions
pagenum: 263; label: Chapter 9
title: Hash Tables
pagenum: 265; title: Tables and Records
pagenum: 265; title: An ADT for Maps
pagenum: 268; title: Hash Tables
pagenum: 270; title: Linear Probing
pagenum: 273; title: Rehashing
pagenum: 275; title: Other Collision Resolution Algorithms
pagenum: 278; title: Separate Chaining
pagenum: 281; title: The java.util.HashMap Class
pagenum: 284; title: Analysis of Hashing Algorithms
pagenum: 286; title: Perfect Hash Functions
pagenum: 287; title: Other Hash Functions
pagenum: 290; title: Chapter Summary
pagenum: 291; title: Review Questions
pagenum: 293; title: Exercises
pagenum: 293; title: Programming Problems
pagenum: 295; title: Projects
pagenum: 296; title: Answers to Review Questions
pagenum: 296; label: Chapter 10
title: Recursion
pagenum: 297; title: Recursive Functions
pagenum: 297; title: The Towers of Hanoi
pagenum: 300; title: Fibonacci Numbers
pagenum: 303; title: Calling Trees
pagenum: 306; title: Storing Instead of Recomputing
pagenum: 309; title: De Moivre's Formula
pagenum: 311; title: The Recursive Binary Search Algorithm
pagenum: 313; title: Recursive Exponentiation
pagenum: 315; title: Printing Permutations
pagenum: 315; title: Indirect Recursion
pagenum: 318; title: Chapter Review
pagenum: 321; title: Review Questions
pagenum: 322; title: Exercises
pagenum: 322; title: Programming Problems
pagenum: 323; title: Projects
pagenum: 326; title: Answers to Review Questions
pagenum: 328; label: Chapter 11
title: Trees
pagenum: 329; title: Trees
pagenum: 329; title: Properties of Trees
pagenum: 330; title: The Recursive Definition of a Tree
pagenum: 336; title: Application: Decision Trees
pagenum: 339; title: Ordered Trees
pagenum: 341; title: Traversal Algorithms for Ordered Trees
pagenum: 342; title: Complete Ordered Trees
pagenum: 344; title: Chapter Summary
pagenum: 346; title: Review Questions
pagenum: 347; title: Exercises
pagenum: 347; title: Programming Problems
pagenum: 350; title: Project
pagenum: 350; title: Answers to Review Questions
pagenum: 351; label: Chapter 12
title: Binary Trees
pagenum: 353; title: Definitions
pagenum: 353; title: Properties of Binary Trees
pagenum: 354; title: Counting Binary Trees
pagenum: 355; title: Binary Tree Traversal Algorithms
pagenum: 357; title: Expression Trees
pagenum: 358; title: Complete Binary Trees
pagenum: 362; title: Forests
pagenum: 364; title: Chapter Summary
pagenum: 365; title: Review Questions
pagenum: 366; title: Exercises
pagenum: 367; title: Programming Problems
pagenum: 369; title: Projects
pagenum: 373; title: Answers to Review Questions
pagenum: 374; label: Chapter 13
title: Search Trees
pagenum: 375; title: Keys and Comparable Types
pagenum: 375; title: Binary Search Trees
pagenum: 377; title: BST Deletion
pagenum: 380; title: BST Performance
pagenum: 383; title: AVL Trees
pagenum: 387; title: Implementing AVL Trees
pagenum: 390; title: Fibonacci Trees
pagenum: 395; title: Multiway Search Trees
pagenum: 397; title: B-Trees
pagenum: 400; title: Red-Black Trees
pagenum: 403; title: Chapter Summary
pagenum: 409; title: Review Questions
pagenum: 409; title: Exercises
pagenum: 410; title: Programming Problems
pagenum: 411; title: Projects
pagenum: 412; title: Answers to Review Questions
pagenum: 412; label: Chapter 14
title: Heaps and Priority Queues
pagenum: 415; title: Heaps
pagenum: 415; title: Heap Algorithms
pagenum: 416; title: Priority Queues
pagenum: 420; title: A HeapPriorityQueue Class
pagenum: 423; title: Case Study: Huffman Codes
pagenum: 426; title: Chapter Summary
pagenum: 429; title: Review Questions
pagenum: 430; title: Exercises
pagenum: 430; title: Programming Problems
pagenum: 433; title: Projects
pagenum: 433; title: Answers to Review Questions
pagenum: 434; label: Chapter 15
title: Sorting
pagenum: 437; title: The Bubble Sort
pagenum: 438; title: The Selection Sort
pagenum: 442; title: The Insertion Sort
pagenum: 444; title: The Shell Sort
pagenum: 446; title: The Speed Limit for Comparison Sorts
pagenum: 449; title: The Merge Sort
pagenum: 450; title: The Quick Sort
pagenum: 454; title: The Heap Sort
pagenum: 458; title: The Bucket Sort
pagenum: 462; title: The Counting Sort
pagenum: 464; title: The Radix Sort
pagenum: 466; title: The java.util.Arrays.sort() Method
pagenum: 468; title: Chapter Summary
pagenum: 468; title: Review Questions
pagenum: 469; title: Exercises
pagenum: 469; title: Programming Problems
pagenum: 475; title: Projects
pagenum: 477; title: Answers to Review Questions
pagenum: 478; label: Chapter 16
title: Graphs
pagenum: 479; title: Graphs
pagenum: 479; title: The Adjacency Matrix Implementation
pagenum: 482; title: The Adjacency List Implementation
pagenum: 484; title: Breadth-First Search
pagenum: 487; title: Spanning Trees
pagenum: 488; title: The Depth-First Search
pagenum: 491; title: Weighted Graphs
pagenum: 492; title: Dijkstra's Algorithm
pagenum: 494; title: Digraphs
pagenum: 499; title: Chapter Summary
pagenum: 500; title: Review Questions
pagenum: 500; title: Exercises
pagenum: 501; title: Programming Problems
pagenum: 504; title: Projects
pagenum: 505; title: Answers to Review Questions
pagenum: 505; label: Appendix A
title: Answers and Hints
pagenum: 507; title: Chapter 1 Exercises
pagenum: 507; title: Chapter 2 Exercises
pagenum: 509; title: Chapter 3 Projects
pagenum: 509; title: Chapter 4 Programming Problems
pagenum: 510; title: Chapter 5 Exercises
pagenum: 511; title: Chapter 5 Programming Problems
pagenum: 512; title: Chapter 6 Exercises
pagenum: 513; title: Chapter 7 Programming Problems
pagenum: 514; title: Chapter 8 Exercises
pagenum: 514; title: Chapter 8 Programming Problem
pagenum: 515; title: Chapter 9 Exercises
pagenum: 515; title: Chapter 10 Exercises
pagenum: 515; title: Chapter 10 Programming Problem
pagenum: 516; title: Chapter 11 Exercises
pagenum: 516; title: Chapter 12 Programming Problems
pagenum: 517; title: Chapter 13 Exercises
pagenum: 518; title: Chapter 14 Exercises
pagenum: 519; title: Chapter 15 Exercises
pagenum: 519; title: Chapter 15 Programming Problem
pagenum: 519; title: Chapter 16 Exercises
pagenum: 520; label: Appendix B
title: Java Review
pagenum: 521; title: Java Programs
pagenum: 521; title: Compiling and Running a Java Program
pagenum: 522; title: Java Types
pagenum: 528; title: Classes and Members
pagenum: 530; title: Access Modifiers
pagenum: 533; title: The this Keyword
pagenum: 534; title: Packages
pagenum: 535; title: The Scope of a Class
pagenum: 539; title: The new and instanceof Operators
pagenum: 540; title: Using Command Line Arguments
pagenum: 541; title: Wrapper Classes
pagenum: 544; title: Exception Handling
pagenum: 545; title: Java I/O
pagenum: 548; title: Interactive Input
pagenum: 553; title: Initialization
pagenum: 554; title: Interfaces
pagenum: 556; title: Types and Polymorphism
pagenum: 558; title: Abstract Methods and Abstract Classes
pagenum: 558; title: From C++ to Java
pagenum: 560; title: Appendix Review
pagenum: 562; title: Review Questions
pagenum: 562; title: Programming Problems
pagenum: 563; title: Answers to Review Questions
pagenum: 563; label: Appendix C
title: Essential Mathematics
pagenum: 565; title: The Floor and Ceiling Functions
pagenum: 565; title: Logarithms
pagenum: 566; title: Asymptotic Complexity Classes
pagenum: 567; title: The First Principle of Mathematical Induction
pagenum: 569; title: The Second Principle of Mathematical Induction
pagenum: 570; title: Geometric Series
pagenum: 571; title: Other Summation Formulas
pagenum: 572; title: Harmonic Numbers
pagenum: 573; title: Stirling's Formula
pagenum: 575; title: Fibonacci Numbers
pagenum: 576; title: Binomial Coefficients
pagenum: 578; title: Catalan Numbers
pagenum: 579; title: Review Questions
pagenum: 584; title: Exercises
pagenum: 584; title: Programming Problems
pagenum: 586; title: Answers to Review Questions
pagenum: 586; label: Appendix D
title: The Java Collections Frameworks
pagenum: 587; title: The Inheritance Hierarchy
pagenum: 587; title: The Collection Interface
pagenum: 588; title: The List Classes
pagenum: 590; title: The Set Classes
pagenum: 592; title: The Map Classes
pagenum: 593; label: Appendix E
title: References
pagenum: 599; title: Books
pagenum: 599; title: Papers
pagenum: 601; title: URLs
pagenum: 601; title: Index
pagenum: 603