Usually ships within 1 to 3 weeks.
Ships from and sold by
Gift-wrap available.
Data Structures and Algor... has been added to your Cart
+ CDN$ 6.49 shipping
Used: Very Good | Details
Condition: Used: Very Good
Comment: All items ship from the USA.  Arrival time is usually 2-3 weeks.  Ex-Library Book - will contain Library Markings. Appearance of only slight previous use. Cover and binding show a little wear. All pages are undamaged with potentially only a few, small markings. Save a tree, buy from Green Earth Books. All books guaranteed. Read. Recycle. Reuse.
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

Data Structures and Algorithms in Java Hardcover – Nov 26 2003

See all 4 formats and editions Hide other formats and editions
Amazon Price New from Used from
Hardcover, Nov 26 2003
CDN$ 117.95
CDN$ 34.78 CDN$ 1.15

There is a newer edition of this item: First Novel Award - 6 Canadian Novels Make the Shortlist

Product Details

  • Hardcover: 704 pages
  • Publisher: Wiley; 3 edition (Nov. 26 2003)
  • Language: English
  • ISBN-10: 0471469831
  • ISBN-13: 978-0471469834
  • Product Dimensions: 19.6 x 3.2 x 24.6 cm
  • Shipping Weight: 1.3 Kg
  • Average Customer Review: 2.1 out of 5 stars  See all reviews (32 customer reviews)
  • Amazon Bestsellers Rank: #2,735,218 in Books (See Top 100 in Books)
  • See Complete Table of Contents

Product Description

From the Publisher

Using a unique multimedia format for learning the fundamentals of data structures and algorithms, this conceptually elegant and innovative text incorporates the object-oriented design paradigm with Java as the implementation language. The result is a learning experience that provides the fundamental intuition and analysis of each structure studied. A Web site complete with Java applications and applets accompanies the text. Includes CD-ROM with... The Microsoft Visual J++ programming environment. --This text refers to an out of print or unavailable edition of this title.

From the Back Cover

Fundamental Data Structures Using a Consistent Object-Oriented Framework

Goodrich and Tamassia's Third Edition of Data Structures and Algorithms in Java incorporates the object-oriented design paradigm, using java as the implementation language. The authors provide intuition, description, and analysis of fundamental data structures and algorithms. Numerous illustrations, web-based animations, and simplified mathematical analyses justify important analytical concepts.

Now fully revised and updated, this Third Edition features an entirely new chapter on recursion, expanded coverage of splay trees, and new examples and programming exercises throughout.


  • Covers analysis and design of fundamental data structures.
  • Presents a consistent object-oriented viewpoint throughout the text.
  • Java code examples are used extensively, with source code provided on the website.
  • Hundreds of exercises that promote creativity help readers learn how to think like programmers and reinforce important concepts.
  • On-line animations and an effective art program in the text illustrate data structures and algorithms in a clear, visual manner.

Access additional resources on the web ( or, including:

  • Java source code for all examples in the book
  • Algorithm visualization tools
  • Library of Java constructs used in the book
  • Problems database and search engine
  • Student hints to exercises in the book
  • Instructor resources

Inside This Book (Learn More)
First Sentence
Building data structures and algorithms requires that we communicate detailed instructions to a computer, and an excellent way to perform such communication is using a high-level computer language, such as Java. Read the first page
Explore More
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index | Back Cover
Search inside this book:

Customer Reviews

2.1 out of 5 stars

Most helpful customer reviews

1 of 1 people found the following review helpful By A Customer on Aug. 10 1999
Format: Hardcover
(I would have liked to give this book 3 1/2 stars.)
Some of this book is quite good, especially some of the diagrams and the discussion of graphs. And I found the coverage very thourough in breath and depth. That is, there are a lot of things covered that would be normally ignored in an undergraduate book, and I never felt myself wondering about the "why" of some particular aspect of an algotrithm. I also liked how the authors always gave original credit and references for the pioneers in our field. There is also a nice coverage of Big-O notation, etc.. But... I thought the book was poorly organized, and in some cases the explanations were a little scattered and/or confusing. My biggest pet peeve is that the authors do not seem to have a firm grasp of all Java idioms, and how Java is used in the real world, or even perhaps of good object design principles. Of course, this is a pretty typical problem of academic texts. Just to give you a flavor of what I'm talking about, on page 212, the authors implement a Lexiographic class that has a lot of Java boo-boos.
First, they have a method:
private void getXY(Object a, Object b) { ... }
that actually sets the internal state of the class from the values supplied by a and b. Horrors! Hopefully, most working Java programmers would know that the pattern
Object get*();
is a _very_ specific Java idiom for a class property accessor. The authors continue with a number of methods of the form
boolean isLessThan(Object a, Object b)
which compares two values and returns the results of that comparison. Again, the pattern
boolean is*()
is a very specific Java propert accessor idiom, and should not be used willy-nilly.
Read more ›
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again.
1 of 1 people found the following review helpful By Waffles on Dec 14 2000
Format: Hardcover
I just completed my first course in data structures using this text. I do not recommend it if you are trying to solidify the Java you learned in your first programming course. It's very sparse on details. I recommend Main's text instead.
On the other hand, I would look at this book AFTER you've completed your data structures course. I think you get the "big picture" of basic data structures. I would also recommend this book to anyone who is mathematically mature (ie comfortable with abstract thinking) and needs a quick overview of data structures.
To summarize, I wouldn't use this as a required text for a course. If your instructor uses this for a course, check it out from the library and buy a copy of Main's text instead.
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again.
Format: Hardcover
This is required reading in a CS course I take, and I find it to be an annoyingly confusing book. The language is exceptionally unclear, remeniscient of a bad math book on calculus. The code examples of ideas are sparse and skinny on details. Far too often something is "trivial" or left as an exercise. In addition the accompanying exercises are far harder than the in text material (what little there is to look for for reference). Some subjects which I would expect to have several pages on, IE: the ideas of polymorphism, casting and inheritanc , contain a mere page or less. The claim that the book is "well illustrated" is also quite false, unless you feel like counting the pictures in the headers of the chapters. Overall I have found this book to be a meanace to my learning the material and I am thankfull that I possess an exceptional CS teacher who is able to fully explain what the book fails to do. {Hint to the authors: your book should NOT read like a lecture, it should read like a real textbook, one that actually covers MORE than the professor does in class instead of far less.)
As a side note, I wish to note that Professor Morelli's book Java, Java ,Java (ISBN 0130333700) is most excelent (although it does not cover the same topic) some of the intro materials (chapters 1 and 2) overlap, and I found myself referring to it constantly in preference to this monstrosity that I now call a textbook.
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again.
Format: Hardcover
I bought this book as a required text for a class. Hmm, I wonder if this book would have sold so many copies if it weren't required for a class. In any case, I repeatedly attempt to use this book, hoping to glean some morsel of information to help with my course work. If my professor doesn't assign homework from the book, I guess I would have read less than 1/10th of the book. The whole section on Asymptotic Notation and Asymptotic Analysis left me with one question -- Huh??? It was a push/shove off the deep end. I often find myself having to refer to other text or to the internet for clarification of certain concepts in the book (I've bought four additional books since starting the class). Some of the Pseudocode presented were useful while others are very cursory and don't even start to scratch the surface. I am not one to memorize anything in a text, believing in understanding concepts and finding the information I need information quickly in a book. This book had so much word in it that the important information are usually buried several paragraphs into the section. The index does not adequately cover the book as well.
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again.

Most recent customer reviews