Book description
Introducing Data Structures with Java sets out to provide a firm understanding of dealing with arrays, lists, queues, stacks, binary trees and graphs, and with algorithms for operations such as searching and sorting. Practical implementation, to promote sound understanding, is a key feature, and many example programs are developed, using a clear design process; full source code listings are supplied in each chapter and all of the programs are supplied on the CD-ROM.Download Companion Content: http://www.pearsoned.co.in/prc/book/david-cousins-introducing-data-structures-with-java-1e--1/9788131758649
Table of contents
- Cover
- Title Page
- Contents
- Dedication
- About the Author
- Preface
- 1. Some Basic Ideas
- 2. Data Types
- 3. Using Java
- 4. File Input and Output
-
5. Array Data Structures
- 5.1 Introduction
- 5.2 What is an array?
- 5.3 A simple array application
- 5.4 Arrays of other data
- 5.5 Multidimensioned arrays
- 5.6 Populating the array—nested loops
- 5.7 Accessing an array column by column
- 5.8 Further uses for the application
- 5.9 Dynamically declaring arrays
- 5.10 Pointers/references
- 5.11 The ‘garbage’ problem
- 5.12 Summary
- 5.13 Code listing
- Exercises
- 6. Searching Arrays
- 7. Hashing and Hash Tables
- 8. Sorting Arrays—Selection, Bubble, Insertion, Merge and Quick Sorts
-
9. Linked Lists
- 9.1 Introduction
- 9.2 An array implementation of a list
-
9.3 What is a dynamic linked list?
- 9.3.1 Operation: initialize the list
- 9.3.2 Operation: append a new item (unordered list)
- 9.3.3 Operation: output list contents
- 9.3.4 Operation: return number of list records
- 9.3.5 Operation: search the list
- 9.3.6 Operation: delete an item
- 9.3.7 Operation: check for empty list
- 9.3.8 Operation: insertion (to create an ordered list)
- 9.4 A list class
- 9.5 Circular linked lists
- 9.6 Doubly linked lists
- 9.7 An array implementation
- 9.8 Conclusion
- 9.9 Summary
- 9.10 Code listings
- Exercises
-
10. Queues
- 10.1 Introduction
- 10.2 Queue examples
- 10.3 Implementing a queue dynamically
- 10.4 Queue operations
- 10.5 A dynamic queue class
- 10.6 An alternative implementation
- 10.7 Practical implementation
- 10.8 Initializing the queue with a constructor method
- 10.9 A test program
- 10.10 Priority queue
- 10.11 Summary
- 10.12 Code listings
- Exercises
- 11. Stacks
-
12. Binary Trees
- 12.1 Introduction
- 12.2 A binary tree abstract data type (ADT)
- 12.3 Tree operations
- 12.4 Trees and sub-trees
- 12.5 Levels of a tree
- 12.6 Binary tree terminology
- 12.7 The ADT for a BST
- 12.8 Creating a BST
- 12.9 Implementing the tree class
- 12.10 Efficiency of BST search and retrieval
- 12.11 An alternative BST representation
- 12.12 ‘Threaded’ binary trees
- 12.13 Expression trees
- 12.14 ‘Heaps’
- 12.15 Summary
- 12.16 Code listings
- Exercises
-
13. Graphs
- 13.1 Introduction
- 13.2 An example of non-hierarchical data
- 13.3 Directed/undirected graphs
- 13.4 Complete/incomplete graphs
- 13.5 Paths
- 13.6 Digraphs
- 13.7 Weighted graphs
- 13.8 A graph abstract data type (ADT)
- 13.9 Representing a graph
- 13.10 Implementing the example graph class
- 13.11 Displaying the contents of the adjacency matrix
- 13.12 Java code for breadth-first traversal
- 13.13 Java code for depth-first traversal
- 13.14 And now … a simple route finding illustration
- 13.15 The graph class test program
- 13.16 Limitations of the path-searching function
- 13.17 Shortest path identification (Dijkstra’s method)
- 13.18 ‘Spanning trees’
- 13.19 ‘Minimum spanning trees’ (MSTs)
- 13.20 Summary
- 13.21 Code listings
- Exercises
- 14. Case Study 1—A Student Grades Program 298
-
15. Case Study 2—Rn Inventory Table
- 15.1 Introduction
- 15.2 The application
- 15.3 Storing and accessing the data
- 15.4 Initializing the arrays
- 15.5 Adding a new product’s data
- 15.6 Searching for a product
- 15.7 Deleting an item
- 15.8 Amending the instock value
- 15.9 Writing out the table contents
- 15.10 Implementing the system
- 15.11 The main function code
- 15.12 Populate the table for testing purposes
- 15.13 Inserting a new item
- 15.14 Displaying the table contents
- 15.15 Search and update
- 15.16 Deleting an item from the table
- 15.17 Summary
- 15.18 Code listings
- 16. Case Study 3—A Flight Departures Timetable
-
17. Case Study 4—A Queue Simulation
- 17.1 Introduction
- 17.2 The application
- 17.3 Choosing priority values
-
17.4 Design
- 17.4.1 Generating priority values
- 17.4.2 Refinement of the ‘build queue’ step
- 17.4.3 Refinement of ‘display boarding queue’
- 17.4.4 The enQueue function
- 17.4.5 The deQueue operation
- 17.4.6 The buildQueue function
- 17.4.7 Display the boarding order
- 17.4.8 The simulation main function
- 17.4.9 Screenshots for two program runs, 30 passengers in each case
- 17.5 An alternative version—output to a file
- 17.6 Summary
- 17.7 And finally, reader …
- 17.8 Code listings
- Appendix A
- Appendix B
- Copyright
Product information
- Title: Introducing Data Structures with Java
- Author(s):
- Release date: March 2013
- Publisher(s): Pearson Education India
- ISBN: 9788131758649
You might also like
book
Data Structures Using Java
Written in an engaging and informal style, Data Structures Using Java facilitates a student's transition from …
book
A Concise Introduction to Data Structures using Java
Designed for a CS2 data structures course, this text provides a thorough but concise overview of …
book
Data Structures and Algorithms Using Java
With an accessible writing style and manageable amount of content, Data Structures and Algorithms Using Java …
book
Java 9 Data Structures and Algorithms
Gain a deep understanding of the complexity of data structures and algorithms and discover the right …