## Data Structures and Problem Solving Using JavaData Structures and Problem Solving Using Java, Second Edition, provides a practical introduction to data structures and algorithms from the perspective of abstract thinking and problem solving, as well as the use of Java. Experienced author and educator Mark Allen Weiss takes a unique approach by clearly separating the specification and implementation of data structures. He presents the interface and running time of data structures in Part II of the book. Then, he provides the opportunity for readers to use the data structures in a variety of practical examples before introducing the implementations in Part IV. By first gaining a familiarity with the interfaces and uses of data structures, readers will be able to think more abstractly about the subject matter. New utilization of the Java 1.2 Collections API frees the second edition from relying upon a non-standard, book-dependent data structures package. The new edition also features new coverage of Design Patterns and significantly revised material of inheritance. |

### What people are saying - Write a review

#### Review: Data Structures & Problem Solving Using Java

User Review - Samantha - GoodreadsThis book was ok. Most of its explanations were pretty decent, the only chapter I didn't think was that helpful was the one on graphs. Now I didn't read the first part because its just an overview of ... Read full review

#### Review: Data Structures & Problem Solving Using Java

User Review - GoodreadsThis book was ok. Most of its explanations were pretty decent, the only chapter I didn't think was that helpful was the one on graphs. Now I didn't read the first part because its just an overview of ... Read full review

### Common terms and phrases

abstract class allows alpha-beta pruning analysis array base class basic Big-Oh binary search tree boolean Button chapter class method Comparable compiler compute constant constructor contiguous subsequence sum data structures declaration derived class element equal error evaluate example exception function hash table Hashable implementation import information hiding inheritance initial input insertion sort instance IntCell integers interface interpolation search iterations Java javadoc linear linked list logarithm loop maximum contiguous subsequence mergesort Mylnteger node object-oriented programming operator output package parameter performed permutation pivot point2 position primitive types priority queue problem public class public static void quadratic quickselect quicksort random numbers recursive calls reference types reference variable referenced result rithm routine running sequence Shellsort shown in Figure solve sorting algorithm stack statement static int static method static void main stored storedValue System.out.println Theorem throws clause tion toString try block worst-case