REVIEW - Data Structures and Problem Solving Using Java


Data Structures and Problem Solving Using Java


Mark Allen Weiss



Addison-Wesley (1998)




Brian Bramer


February 1999



A book well worth considering as the set book for a second level course on data structures

The interesting approach taken in this book is to separate the specification and implementation of data structures. The idea being that students would use data structures in simple applications to gain an understanding of the operations required (and hence be able to specify the interface) and the efficiency implications. After this implementation details would be studied to see how the specification could be met.

The book is in five parts. Part one provides the Java basics required by the rest of the book; this would be suitable for readers with experience of an OO language and could be skipped by those with Java experience. Part two is an introduction to algorithms (searching, sorting, recursion, etc.) and data structures (stacks, queues, trees, hash tables, etc.) As well as analysing basic operations and specifying interfaces theoretical underpinning is presented. Part three presents applications using the algorithms and data structures from part two, e.g. word searches, compiler symbol checker, data compression and cross referencing, simulation, graphs, etc. Part four implements the data structures (in some cases only descriptions of algorithms are given with the implementation left as programming projects). Part five discusses advanced topics; the splay tree, priority queued and the disjoint set data structure. Throughout mathematical analyses are presented (some knowledge of discrete maths is necessary); the author states that these may be skipped and only the results studied if mathematical background is missing.

A book well worth considering as the set book for a second level course on data structures (following a first level course on Java programming). Code is available from the associated web site. Recommended!

Book cover image courtesy of Open Library.

Your Privacy

By clicking "Accept Non-Essential Cookies" you agree ACCU can store non-essential cookies on your device and disclose information in accordance with our Privacy Policy and Cookie Policy.

Current Setting: Non-Essential Cookies REJECTED

By clicking "Include Third Party Content" you agree ACCU can forward your IP address to third-party sites (such as YouTube) to enhance the information presented on this site, and that third-party sites may store cookies on your device.

Current Setting: Third Party Content EXCLUDED

Settings can be changed at any time from the Cookie Policy page.