With an emphasis on data structures and algorithm analysis, this book includes programming examples in C++. The author concentrates on the principles required to select or design a data structure that will most effectively solve a problem.* 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.
Sprache
Verlagsort
Verlagsgruppe
Zielgruppe
Für höhere Schule und Studium
Maße
Höhe: 242 mm
Breite: 180 mm
Dicke: 22 mm
Gewicht
ISBN-13
978-0-13-660911-7 (9780136609117)
Copyright in bibliographic data and cover images is held by Nielsen Book Services Limited or by the publishers or by their respective licensors: all rights reserved.
Schweitzer Klassifikation
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.