- Paperback: 566 pages
- Publisher: John Wiley & Sons; 1 edition (9 Feb. 2001)
- Language: English
- ISBN-10: 047189978X
- ISBN-13: 978-0471899785
- Product Dimensions: 19.2 x 3.1 x 23.6 cm
- Average Customer Review: 2.5 out of 5 stars See all reviews (4 customer reviews)
- Amazon Bestsellers Rank: 676,699 in Books (See Top 100 in Books)
- See Complete Table of Contents
Java Collections: An Introduction to Abstract Data Types, Data Structures and Algorithms (Computer Science) Paperback – 9 Feb 2001
- Choose from over 13,000 locations across the UK
- Prime members get unlimited deliveries at no additional cost
- Find your preferred location and add it to your address book
- Dispatch to this address when you check out
Customers Who Bought This Item Also Bought
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
"A lovely book.... I will use this book a lot in the next few months on a Java project I′m just starting." (CVu, December 2001)
From the Back Cover
Java Collections is an introductory text on abstract data types, data structures, and algorithms using Java. Written at an appropriate level for a first course in algorithms and data structures, or a second course in programming using Java, this text concentrates on pratical matters like software design and the Jave Collections framework. Only essential supporting theory is included.
The text focuses on abstract data types (ADTs) that turn up again and again in software design. It uses these ADTs to introduce and motivate the data structures required to implement them and the algorithms associated with the data structures. This approach helps Java programmers to choose the most suitable collection classes for their applications.
Not only undergraduate students but also professional programmers retraining the program in Java will benefit form this even–paced and example–led text.
Key features of the text:
∗ emphasizes good object–oriented software design and implementation
∗ presents algorithms both in English and in Java, and shows how to analyze their efficiency (with only light mathematics)
∗ introduces the concept of an abstract data type, shows how to use a "contract" to specify the abstract data type′s contract and its implementation in terms of a suitbale data structure and algorithms
∗ covers a variety of abstract data types (stacks, queues, lists, sets, maps, priority queues, trees, and graphs), compares alternative implementations of these abstract types, and relates them to the Java collection classes
∗ features numerous examples and case studies showing how the abstract data types are used in practical applciaitons
∗ contains numerous graded exercises, offering opportunities to explore alternatives to the designs and implementations presented in the text
∗ includes appendices summarizing the mathematics of algorithm analysis, the relevant features of the Java programming language, and the Java collection classes.
Top Customer Reviews
This book comes complete with not only the mathematical explanations around why each data structure can be searched/sorted more efficiently using a particular type of algorithm, but also with code snippets showing you how to implement the data structure in Java.
Of course this can easily be applied to other languages.
The language of any subject in the book is dressed up to the eyeballs with formal language which makes even simple statements appear complex and requiring lots of thought.
For example. "A string is a sequence of characters. The characters of a string have consecutive indicies." Now I know what a string it, it simply can be thought of as a sentence, it isn't difficult. But imagine you are someone who is approaching the subject with no priot knowledge, you would have to think hard about what the book is saying before you get it.
With other subjects in the book, like time complexity, a lot of assumptions are made about the readers knowledge, particularly in the mathematical field. If you don't know what the, "Fastest Growing Term" is, or the, "Constant Factor" you're stuck! Another example is on power algorithms. The books states, "It is easy to see that b to the power of 20 = b to the power of 10 + b to the power of 10." But is it easy? I certainly don't like things like this being assumed. If I think about it, it does make sense, but it isn't obvious.
Basically, as a student, this book wasn't really suitable for me or my fellow students.
Most Helpful Customer Reviews on Amazon.com (beta)
and the fundamentals--which every computer science student should
know--haven't changed very much. However, it doesn't follow that
everyone needs to write their own linked lists or hash tables from
scratch, when Java already supplies so much of that. I have looked for
a textbook that balances explanation of the basics with exploration of
the Java Collections Interface, and this is by far the best book to date.
(The similarly-named book by Zukowski has too many errors of fact
in it for my taste.)
Another reviewer said that this book does not cover the Java Collections
API. This is incorrect. The authors develop the ideas behind each data
structure as a suitably abstract data type, and then go on with "...and
here's how the Java Collections API does it." I think the previous
reviewer simply didn't read far enough to get to those parts.
For a tutorial on just the Java Collections API, Sun's online "Trail" is
the best single source, and has the advantage that it is not intermixed
with implementation details. If that were enough, no data structures
textbook would be necessary. However, in real problems, any
predefined generic data structure is likely to be inadequate and will
need to be extended; this is why a good programmer needs to know
the Collections API (so as to avoid reinventing the wheel), but in
addition a good computer scientist needs to know how these data
structures are implemented, so that he/she can go beyond them when
The book is somewhat weak on algorithms and would not serve as a
reference on this topic; however, there is plenty of meat here for a first
course on data structures and algorithms.
For the programmer out of college, or the college student that wants an alternate view on ADTs than what DSAAJ provides, this is an excellent book.
Member of the Columbia Java User Group ([...]
Look for similar items by category
- Books > Computing & Internet > Digital Lifestyle > Online Shopping > Amazon
- Books > Computing & Internet > Programming > Algorithms
- Books > Computing & Internet > Programming > Introduction
- Books > Computing & Internet > Programming > Languages
- Books > Computing & Internet > Programming > Languages & Tools
- Books > Computing & Internet > Software & Graphics