Java Software Structures: Designing and Using Data Structures / Edition 3

Java Software Structures: Designing and Using Data Structures / Edition 3

by John Lewis (5), Joseph Chase
     
 

View All Available Formats & Editions

ISBN-10: 0136078583

ISBN-13: 9780136078586

Pub. Date: 03/01/2009

Publisher: Addison-Wesley

This textbook for a course on data structures and algorithms introduces both linear and non-linear collections, and illustrates how the particular nature of the collections can be useful when solving problems. Lewis (Villanova University) and Chase (Radford University) cover recursion, stacks, queues, lists, trees, heaps, hashing, and graphs. An appendix lists the

Overview

This textbook for a course on data structures and algorithms introduces both linear and non-linear collections, and illustrates how the particular nature of the collections can be useful when solving problems. Lewis (Villanova University) and Chase (Radford University) cover recursion, stacks, queues, lists, trees, heaps, hashing, and graphs. An appendix lists the most commonly used classes in the Java class library. Annotation ©2004 Book News, Inc., Portland, OR

Product Details

ISBN-13:
9780136078586
Publisher:
Addison-Wesley
Publication date:
03/01/2009
Series:
Lewis Series
Edition description:
Older Edition
Pages:
576
Product dimensions:
7.30(w) x 8.90(h) x 0.90(d)

Table of Contents

Preface.

I. FOUNDATIONS.

Introduction.

1. Software Engineering.
Software Development.
Software Quality.
Software Life Cycle Models.
The Unified Modeling Language (UML).
Error Handling.
Analysis of Algorithms.
Software Engineering and Data Structures.

2. Collections.
Collections.
A Bag Collection.
Using a Bag: Bingo.
Implementing a Bag: with Arrays.
Analysis of the Array Implementation of a Bag.

3. Linked Structures.
References as Links.
Managing Linked Lists.
Elements without Links.
Implementing a Bag: with Links.
Analysis of the Linked Implementation of a Bag.

4. Recursion.
Recursive Thinking.
Recursive Programming.
Using Recursion.
Analyzing Recursive Algorithms.

5. Sorting and Searching.
Searching.
Linear Search.
Binary Search.
Comparing Search Algorithms.
Sorting.
Selection Sort.
Insertion Sort.
Bubble Sort.
Quick Sort.
Merge Sort.

II. LINEAR DATA STRUCTURES.


Introduction.
6. Stacks.
A Stack ADT.
Using Stacks: Evaluating Postfix Expressions.
Using Stacks: Simulating Recursion.
Implementing Stacks: with Links.
Implementing Stacks: with Arrays.
Implementing Stacks: the java.util.Stack Class.
Analysis of Stack Implementations.

7. Queues.
A Queue ADT.
Using Queues: Code Keys.
Using Queues: Ticket Counter Simulation.
Using Queues: Radix Sort.
Implementing Queues: with Links.
Implementing Queues: with Arrays.
Implementing Queues: with Circular Arrays.
Analysis of Queue Implementations.

8. Lists.
A List ADT.
Using Ordered Lists: Tournament Maker.
Using Indexed Lists: The JosephusProblem.
Implementing Lists: with Arrays.
Implementing Lists: with Links.
Analysis of List Implementations.

III. NON-LINEAR DATA STRUCTURES.


9. Trees.
Trees.
Definitions.
Strategies for Implementing Trees.
Tree Traversals.
Implementing Binary Trees.
Using Binary Trees: Expression Trees.

10. Binary Search Trees.
A Binary Search Tree.
Implementing Binary Search Trees: with Links.
Using Binary Search Trees: Implementing Ordered Lists.
Balanced Binary Search Trees.
Implementing Binary Search Trees: AVL Trees.
Implementing Binary Search Trees: Red/Black Trees.
Implementing Binary Search Trees: The Java Collections API.

11. Heaps.
A Heap.
Using Heaps: Heap Sort.
Using Heaps: Priority Queues.
Implementing Heaps: with Links.
Implementing Heaps: with Arrays.
Analysis of Heap Implementations.

12. Multi-way Search Trees.
2-3 Trees.
2-4 Trees.
B-Trees.

13. Hashing.
A Hashing.
Hashing Functions.
Resolving Collisions.
Deleting Elements from a Hash Table.
Hash Tables in the Java Collections API.

14. Graphs.
Undirected Graphs.
Directed Graphs.
Networks.
Common Graph Algorithms.

Appendices.
Java Overview.
Introduction to GUIs in Java.
Java Class Descriptions.

Customer Reviews

Average Review:

Write a Review

and post it to your social network

     

Most Helpful Customer Reviews

See all customer reviews >