This book takes a gentle approach to the data structures course in Java. It offers an early, self-contained review of object-oriented programming and Java to give students a firm grasp of key concepts, and allows those experienced in other languages to adjust easily. The book also offers a flexibility which allows professors such options as emphasizing object-oriented programming, covering recursion and sorting early or accelerating the pace of the course. This title meets the needs of professors searching for a book to balance the introduction of object-oriented programming and data structures with Java. The new edition has been updated to cover Java 1.3 and includes new appendices with more reference material on such topics as Java collections. It also features increased coverage of object-oriented programming and inheritance. New exercises on radix sort and shell sort have also been added.
The Phases of Software Development. Specification, Design, Implementation. Running Time Analysis. Testing and Debugging. Abstract Data Types and Java Classes. Classes and Their Members. Using a Class. Packages. Parameters, Equals Methods, and Clones. Collection Classes. A Review of Java Arrays. An ADT for a Bag of Integers. Programming Project: The Sequence ADT. Applets for Interactive Testing. Linked Lists. Fundamentals of Linked Lists. Methods for Manipulating Nodes. Manipulating an Entire Linked List. The Bag ADT with a Linked List. Programming Project: The Sequence ADT with a Linked List. Arrays vs. Linked Lists vs. Doubly Linked Lists. Java Objects and Iterators. Java's Object Type. A Bag of Objects. JCL Collections and Nodes of Objects. Iterators. Stacks. Introduction to Stacks. Stack Applications. Implementations of the Stack ADT. More Complex Stack Applications. Queues. Introduction to Queues. Queue Applications. Implementations of the Queue. ADT. Priority Queues. Recursive Thinking. Recursive Methods. Studies of Recursion: Fractals and Mazes. Reasoning about Recursion. Trees. Introduction to Trees. Tree Representations. A Class for Binary Tree Nodes. Tree Traversals. Binary Search Trees. Tree Projects. Heaps. B-Trees. Trees, Logs, and Time Analysis. Searching. Serial Search and Binary Search. Open-Address Hashing. Using Java's Hashtable Class. Chained Hashing. Time Analysis of Hashing. Sorting. Quadratic Sorting Algorithms. Recursive Sorting Algorithms. An O(N LOG N) Algorithm Using a Heap. Software Reuse with Extended Classes. Extended Classes. Simulation of an Ecosystem. Using Extended Classes for ADTs. Graphs. Graph Definitions. Graph Implementations. Graph Traversals. Path Algorithms. Appendices. Java's Primitive Types and Arithmetic Overflow. Java Input. Throwing and Catching Java Exceptions. Java's Vector and Hashtable. A Class for Nodes in a Linked List. A Class for a Bag of Objects. Further Big-O Notation. Javadoc.
Tertiary; University or College
Number Of Pages: 832
Published: 1st October 2002
Country of Publication: US
Dimensions (cm): 23.0 x 18.7
Weight (kg): 1.19
Edition Number: 2