Features
- Provides an understanding of fundamental data structures through clear explanations, illustrations, and case studies.
- Uses actual Java code for nearly all algorithms.
- Presents basic analysis terminology early in the text and analysis techniques throughout. The techniques provided assume a range of instructional levels so that they may be used by students with varying backgrounds in the subject.
- Provides integrated treatment of both in-memory and disk- based algorithm techniques to allow students to see how these techniques are related, and the key differences between them.
- Supports the concept that algorithm analysis is practical and helps in the design of real programs by presenting data structure costs and benefits.
- Includes exercises as well as many suggestions for projects to provide students with hands-on experience.
- Presents several new data structures, including skip lists, multidimensional search trees, and amortized analysis are discussed.
- Provides a chapter on the limits of computation: a brief introduction to computability and NP-completeness to permit an easy-to-understand introduction to these topics.
- Copyright 1998
- Edition: 1st
-
Book
- ISBN-10: 0-13-660911-2
- ISBN-13: 978-0-13-660911-7
The author, Cliff Shaffer provides a superior learning tool for those who desire more rigorous data structures and an algorithm analysis book utilizing Java. KEY TOPICS: While the author covers most of the standard data structures, he concentrates on teaching the principles required to select or design a data structure that will best solve a problem. The emphasis is on data structures, and algorithm analysis, not teaching Java. Java is utilized strictly as a tool to illustrate data structures concepts and only the minimal, useful subset of Java is included.
Table of Contents
Preface.
I. PRELIMINARIES.
1. Data Structures and Algorithms. 2. Mathematical Preliminaries. 3. Algorithm Analysis. II. FUNDAMENTAL DATA STRUCTURES.
4. Lists, Stacks, and Queues. 5. Binary Trees. 6. General Trees. 7. Graphs. III. SORTING AND SEARCHING.
8. Internal Sorting. 9. File Processing and External Sorting. 10. Searching. 11. Indexing. IV. APPLICATIONS AND ADVANCED TOPICS.
12. Lists and Arrays Revisited. 13. Advanced Tree Structures. 14. Analysis Techniques. 15. Limits to Computation. V. APPENDIX.
A. Java Tutorial for C and Pascal Programmers. Bibliography. Index.