Paperback: 576 pages
Publisher: Pearson; 3 edition (February 23, 2009)
Product Dimensions: 6.8 x 0.8 x 9.4 inches
Shipping Weight: 1.4 pounds
Average Customer Review: 3.4 out of 5 stars See all reviews (25 customer reviews)
Best Sellers Rank: #718,594 in Books (See Top 100 in Books) #77 in Books > Computers & Technology > Programming > Algorithms > Data Structures #162 in Books > Textbooks > Computer Science > Algorithms #2603 in Books > Textbooks > Computer Science > Programming Languages
All mainstream computer languages implement a common set of data structures and algorithms. If you are a computer science student, you must learn these at a level that you can at least facilely code using them. What language you do it in is probably secondary. Well here, Lewis and Chase instantiate the pedagogy in Java. A good choice. They have updated this second edition so that it uses Java 1.5 (aka Tiger).They assume you have a rough working knowledge of Java. This is not the time or place to go over basic syntax. Though you should already know the basics of object oriented programming, they give an entire chapter to thoroughly discussing how to do so. In this chapter, you should pay close heed to the section on interfaces. More than many other aspects of Java, interfaces help you build modular code. To explicitly reduce the coupling between different classes, where one class might call the other. Instead of doing a direct call, if interfaces are used to mediate this instantiation, it is a huge boost to modular design. My only gripe here with the interface text is that I think it does not stress enough how useful this is. Only when you've tried to do a large project might you fully appreciate using interfaces.Later chapters show you how the base Java comes with a rich assortment of very useful classes. That implement queues, linked lists, lists, stacks, trees and collections. These can match or even exceed what is available on these topics in the C++ Standard Template Library. While poor old C totally lacks them.I suggest also that you scan closely the chapter on hashing. This is a key and fundamental idea in computing. Lets you search a table in logarithmic dependence on its size, instead of linear dependence. Another excellent Java class.