Clifford A. Shaffer, "A Practical Introduction to Data Structures and Algorithm Analysis, new edition ( Java Version with Source code)"
e-book, 3rd., Java Version | 2010 | ISBN: N/A | 620 pages | PDF | 1,8 MB
e-book, 3rd., Java Version | 2010 | ISBN: N/A | 620 pages | PDF | 1,8 MB
From the Preface: This book is intended as a teaching text. I believe it is more important for a practitioner to understand the principles required to select or design the data structure that will best solve some problem than it is to memorize a lot of textbook implementations. Hence, I have designed this as a teaching text that covers most standard data structures, but not all. A few data structures that are not widely adopted are included to illustrate important principles. Some relatively new data structures that should become widely used in the future are included. Within an undergraduate program, this textbook is designed for use in either an advanced lower division (sophomore or junior level) data structures course, or for a senior level algorithms course. New material has been added in the third edition to support its use in an algorithms course. Normally, this text would be used in a course beyond the standard freshman level "CS2" course that often serves as the initial introduction to data structures. Readers of this book should have programming experience, typically two semesters or the equivalent of a structured programming language such as Pascal or C, and including at least some exposure to Java. Readers who are already familiar with recursion will have an advantage. Students of data structures will also benefit from having first completed a good course in Discrete Mathematics.
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 Non-Binary Trees
III Sorting and Searching
7 Internal Sorting
8 File Processing and External Sorting
9 Searching
10 Indexing
IV Advanced Data Structures
11 Graphs
12 Lists and Arrays Revisited
13 Advanced Tree Structures
V Theory of Algorithms
14 Analysis Techniques
15 Lower Bounds
16 Patterns of Algorithms
17 Limits to Computation
Bibliography
Index
Download