Although traditional texts present isolated algorithms and data structures, they do not provide a unifying structure and offer little guidance on how to appropriately select among them. Furthermore, these texts furnish little, if any, source code and leave many of the more difficult aspects of the implementation as exercises. A fresh alternative to conventional data structures and algorithms books, A Practical Guide to Data Structures and Algorithms using Java presents comprehensive coverage of fundamental data structures and algorithms in a unifying framework with full implementation details. Recognizing that software development is a top-down process, this applications-centered book provides careful guidance to students and practitioners.
Complete and thoroughly integrated Java implementations expose key differences among a wide range of important data structures, including many useful abstract data types not provided in standard Java libraries. Fundamental algorithms appear within the context of their supporting data structures. Case studies, examples, decision trees, and comparison charts throughout the stylized presentation illustrate and support an efficient methodology for the careful selection and application of data structures and algorithms. Appendices summarize major features of the Java programming language, introduce asymptotic notation and complexity analysis, and discuss design patterns applied in the book.
A true marriage of theory and practice, this book sets a new standard as a comprehensive practical guide to data structures and algorithms. Practitioners and students will reach for this book often to quickly identify the best data structure or algorithm for their applications.
Show moreAlthough traditional texts present isolated algorithms and data structures, they do not provide a unifying structure and offer little guidance on how to appropriately select among them. Furthermore, these texts furnish little, if any, source code and leave many of the more difficult aspects of the implementation as exercises. A fresh alternative to conventional data structures and algorithms books, A Practical Guide to Data Structures and Algorithms using Java presents comprehensive coverage of fundamental data structures and algorithms in a unifying framework with full implementation details. Recognizing that software development is a top-down process, this applications-centered book provides careful guidance to students and practitioners.
Complete and thoroughly integrated Java implementations expose key differences among a wide range of important data structures, including many useful abstract data types not provided in standard Java libraries. Fundamental algorithms appear within the context of their supporting data structures. Case studies, examples, decision trees, and comparison charts throughout the stylized presentation illustrate and support an efficient methodology for the careful selection and application of data structures and algorithms. Appendices summarize major features of the Java programming language, introduce asymptotic notation and complexity analysis, and discuss design patterns applied in the book.
A true marriage of theory and practice, this book sets a new standard as a comprehensive practical guide to data structures and algorithms. Practitioners and students will reach for this book often to quickly identify the best data structure or algorithm for their applications.
Show moreIntroduction. Collection Data Structures and Algorithms. Graph Data Structures and Algorithms. Appendices. References. Index.
Sally. A Goldman, Kenneth. J Goldman
“This is no ordinary textbook on algorithms and data structures. In
fact, it is not really a textbook at all, but rather an
extraordinarily powerful and practical reference book. It is
perhaps the most thorough and complete catalog of fundamental
algorithms that I have ever seen. The book is extremely well
organized, and has been carefully designed to provide practical
help for a student or developer with a specific problem at hand who
is seeking the most appropriate data structure or abstract data
type. Everything that one might wish for with this goal in mind has
been provided, including a top-down guide that provides an
organizational map of the myriad data structures to choose from,
comparisons between competing choices, short descriptions for quick
reference, longer explanations for detailed understanding,
performance analyses, correctness arguments, plus a CD with full
Java implementations. This is a tremendously valuable practical
resource.”
—Robert Schapire, Professor of Computer Science, Princeton
University, New Jersey, USA
“The Goldmans’ new book is a tour de force of data structures and
associated algorithms, accomplishing far more than any single
author could hope to achieve. Theory and practice are represented
in complementary fashion, with clever mechanisms such as
‘correctness highlights’ and tables illustrating space and time
complexity tradeoffs between different implementation options. The
book is extremely well designed as a reference with value that
extends well beyond Java programmers. I can imagine that the
decision tree inside the front cover will be placed in a prominent
location in many graduate student and developer work spaces. I
intend to make sure my students consult it before launching into
any significant implementation.”
—Ellen Witte Zegura, Professor, Associate Dean, and Chair of the
Computing Science and Systems Division, Georgia Institute of
Technology, Atlanta, USA
“In this impressive book, [the authors] combine practical guidance
on how to select and use important ADTs and data structures with a
clear presentation of the underlying theory. I do not know of any
other book that is able to simultaneously address both application
and theory so well. One of my favorite features of this book is
that for each data structure given, there is a presentation of
competing data structures and how they compare. This allows the
reader to quickly place the new data structure into context as well
as to find the best data structure for a given application.”
—Avrim Blum, Professor of Computer Science, Carnegie Mellon
University, Pittsburgh, Pennsylvania, USA
“This is the first book I know of that teaches the theory and
practice of algorithm and data structure design in a clear and
comprehensive way. For each topic it presents a motivating example,
a clear ADT, various implementations, and a guide for comparing
different implementations. Each implementation is followed by a
detailed and clear theoretical analysis, a complete Java
implementation, and a discussion of the used design patterns. This
book is a thorough textbook as well as a great reference book!”
—Monika Henzinger, Professor of Computer and Communication
Sciences, École Polytechnique Fédérale de Lausanne, Switzerland,
and Research Director, Google
“This book presents a principled approach to covering many
practical abstract data types. It is nicely modular and neither
glosses over all-important implementation details nor gets lost in
them. Having variations for different usage patterns is especially
useful. I highly recommend this book both for practitioners and for
students learning data structures and algorithms.”
—Andries van Dam, Thomas J. Watson, Jr. Professor of Technology and
Education and Professor of Computer Science, Brown University,
Providence, Rhode Island, USA
![]() |
Ask a Question About this Product More... |
![]() |