Java software structures : designing and using data structures /
Lewis, John
Java software structures : designing and using data structures / John Lewis. - 3rd - Boston, M.A : Pearson Education, 2010. - 564 p.: ill. 23 cm.
Includes index
1. Introduction 1.1 Software Quality 1.2 Data Structures 2. Analysis of Algorithms 2.1 Algorithm Efficiency 2.2 Growth Functions and Big-OH Notation 2.3 Comparing Growth Functions 2.4 Determining Time Complexity 3. Collections 3.1 Introduction to Collections 3.2 Stack Collection 3.3 Crucial OO Concepts 3.4 A Stack ADT 3.5 Using Stacks: Evaluating Postfix Expressions 3.6 Exceptions 3.7 Implementing a Stack: With Arrays 3.8 The ArrayStack Class 4. Linked Structures 4.1 References as Links 4.2 Managing Linked Lists 4.3 Elements Without Links 4.4 Implementing a Stack 4.5 Using Stacks: Traversing a Maze 4.6 Implementing Stacks: The java.util.Stack Class 5. Queues 5.1 A Queue ADT 5.2 Using Queues: Code Keys 5.3 Using Queues: Ticket Counter Simulation 5.4 Implementing Queues: With Links 5.5 Implementing Queues: With Arrays 6. Lists 6.1 A List ADT 6.2 Using Ordered Lists: Tournament Maker 6.3 Using Indexed Lists: The Josephus Problem 6.4 Implementing Lists: With Arrays 6.5 Implementing Lists: With Links 6.6 Lists in the Java Collections API 7. Recursion 7.1 Recursive Thinking 7.2 Recursive Programming 7.3 Using Recursion 7.4 Analyzing Recursive Algorithms 8. Sorting and Searching 8.1 Searching 8.2 Sorting 8.3 Radix Sort 9. Trees 9.1 Trees 9.2 Strategies for Implementing Trees 9.3 Tree Traversals 9.4 A Binary Tree ADT 9.5 Using Binary Trees: Expression Trees 9.6 Implementing Binary Trees with Links 9.7 Implementing Binary Trees with Arrays 10. Binary Search Trees 10.1 A Binary Search Tree 10.2 Implementing Binary Search Trees: With Links 10.3 Implementing Binary Search Trees: With Arrays 10.4 Using Binary Search Trees: Implementing Ordered Lists 10.5 Balanced Binary Search Trees 10.6 Implementing Binary Search Trees: AVL Trees 10.7 Implementing Binary Search Trees: Red/Black Trees 10.8 Implementing Binary Search Trees: The Java Collections API 10.9 A Philosophical Quandary 11. Priority Queues & Heaps 11.1 A Heap 11.2 Using Heaps: Priority Queues 11.3 Implementing Heaps: With Links 11.4 Implementing Heaps: With Arrays 11.5 Using Heaps: Heap Sort 12. Multi-way Search Trees 12.1 Combing Tree Concepts 12.2 2-3 Trees 12.3 2-4 Trees 12.4 B-Trees 12.5 Implementation Strategies for B-Trees 13. Graphs 13.1 Undirected Graphs 13.2 Directed Graphs 13.3 Networks 13.4 Common Graph Algorithms 13.5 Strategies for Implementing Graphs 13.6 Implementing Undirected Graphs with an Adjacency Matrix 14. Hashing 14.1 Hashing 14.2 Hashing Functions 14.3 Resolving Collisions 14.4 Deleting Elements from a Hash Table 14.5 Hash Tables in the Java Collections API 15. Sets & Maps 15.1 A Set Collection 15.2 Using a Set: Bingo 15.3 Implementing a Set: With Arrays 15.4 Implementing a Set: With Links 15.5 Maps and the Java Collections API Appendix A -- UML Appendix B -- Object-Oriented Design B.1 Overview of Object-Orientation B.2 Using Objects B.3 Class Libraries and Packages B.4 State and Behavior B.5 Classes B.6 Encapsulation B.7 Constructors B.8 Method Overloading B.9 References Revisited B.10 The static Modifier B.11 Wrapper Classes B.12 Interfaces B.13 Inheritance B.14 Class Hierarchies B.15 Polymorphism B.16 Generic Types B.17 Exceptions
English
978-0-13-136427-1
Java--Computer program language
Computer software--Development
Data structures--Computer science
005.13 3 L58j
Java software structures : designing and using data structures / John Lewis. - 3rd - Boston, M.A : Pearson Education, 2010. - 564 p.: ill. 23 cm.
Includes index
1. Introduction 1.1 Software Quality 1.2 Data Structures 2. Analysis of Algorithms 2.1 Algorithm Efficiency 2.2 Growth Functions and Big-OH Notation 2.3 Comparing Growth Functions 2.4 Determining Time Complexity 3. Collections 3.1 Introduction to Collections 3.2 Stack Collection 3.3 Crucial OO Concepts 3.4 A Stack ADT 3.5 Using Stacks: Evaluating Postfix Expressions 3.6 Exceptions 3.7 Implementing a Stack: With Arrays 3.8 The ArrayStack Class 4. Linked Structures 4.1 References as Links 4.2 Managing Linked Lists 4.3 Elements Without Links 4.4 Implementing a Stack 4.5 Using Stacks: Traversing a Maze 4.6 Implementing Stacks: The java.util.Stack Class 5. Queues 5.1 A Queue ADT 5.2 Using Queues: Code Keys 5.3 Using Queues: Ticket Counter Simulation 5.4 Implementing Queues: With Links 5.5 Implementing Queues: With Arrays 6. Lists 6.1 A List ADT 6.2 Using Ordered Lists: Tournament Maker 6.3 Using Indexed Lists: The Josephus Problem 6.4 Implementing Lists: With Arrays 6.5 Implementing Lists: With Links 6.6 Lists in the Java Collections API 7. Recursion 7.1 Recursive Thinking 7.2 Recursive Programming 7.3 Using Recursion 7.4 Analyzing Recursive Algorithms 8. Sorting and Searching 8.1 Searching 8.2 Sorting 8.3 Radix Sort 9. Trees 9.1 Trees 9.2 Strategies for Implementing Trees 9.3 Tree Traversals 9.4 A Binary Tree ADT 9.5 Using Binary Trees: Expression Trees 9.6 Implementing Binary Trees with Links 9.7 Implementing Binary Trees with Arrays 10. Binary Search Trees 10.1 A Binary Search Tree 10.2 Implementing Binary Search Trees: With Links 10.3 Implementing Binary Search Trees: With Arrays 10.4 Using Binary Search Trees: Implementing Ordered Lists 10.5 Balanced Binary Search Trees 10.6 Implementing Binary Search Trees: AVL Trees 10.7 Implementing Binary Search Trees: Red/Black Trees 10.8 Implementing Binary Search Trees: The Java Collections API 10.9 A Philosophical Quandary 11. Priority Queues & Heaps 11.1 A Heap 11.2 Using Heaps: Priority Queues 11.3 Implementing Heaps: With Links 11.4 Implementing Heaps: With Arrays 11.5 Using Heaps: Heap Sort 12. Multi-way Search Trees 12.1 Combing Tree Concepts 12.2 2-3 Trees 12.3 2-4 Trees 12.4 B-Trees 12.5 Implementation Strategies for B-Trees 13. Graphs 13.1 Undirected Graphs 13.2 Directed Graphs 13.3 Networks 13.4 Common Graph Algorithms 13.5 Strategies for Implementing Graphs 13.6 Implementing Undirected Graphs with an Adjacency Matrix 14. Hashing 14.1 Hashing 14.2 Hashing Functions 14.3 Resolving Collisions 14.4 Deleting Elements from a Hash Table 14.5 Hash Tables in the Java Collections API 15. Sets & Maps 15.1 A Set Collection 15.2 Using a Set: Bingo 15.3 Implementing a Set: With Arrays 15.4 Implementing a Set: With Links 15.5 Maps and the Java Collections API Appendix A -- UML Appendix B -- Object-Oriented Design B.1 Overview of Object-Orientation B.2 Using Objects B.3 Class Libraries and Packages B.4 State and Behavior B.5 Classes B.6 Encapsulation B.7 Constructors B.8 Method Overloading B.9 References Revisited B.10 The static Modifier B.11 Wrapper Classes B.12 Interfaces B.13 Inheritance B.14 Class Hierarchies B.15 Polymorphism B.16 Generic Types B.17 Exceptions
English
978-0-13-136427-1
Java--Computer program language
Computer software--Development
Data structures--Computer science
005.13 3 L58j