The Stolin-Group 
Computer accessories, software & training supplies
Data Structures in Java

Return to Main Menu

Back One Page

Place Order by Mail

Contact Us

Search

Book Catagories

Professional Computing

Certification
Computer
Science
Database & ERP
Internet
Management
Information Systems
Networking
Operating Systems
PC Hardware
Programming
Security
Telecommunications
Video & Audio
Web Developement

Computer Science
Academic Disciplines

Intro to Computer Science
Introduction to Programming
Data Structures
Algorithms/Advanced Data Structures
Artificial Intelligence
Compilers
Computer-Organization/Architecture
Computer Graphics
Human-Computer Interaction
Database
Internet and World Wide Web
Electronic Commerce
Mathematics for Computer Scientists
Operating Systems
Networking
Programming Languages
Software Engineering
Theory of Computation
Signals and Systems
Miscellaneous

Resource Center

Bioinformatics
C/C++
Databases
Digital Media
Enterprise Development
Game Development
Java
Linux/Unix
Macintosh/OS X
.NET
Open Source
Oracle
Perl
Python
Scripting
Security
SysAdmin/Networking
Web
Web Services
Windows
Wireless
XML

See More Value Packages

Thomas A. Standish, University of California, Irvine

ISBN: 0-201-30564-X
Publisher: Addison-Wesley
Copyright: 1998
Format: Cloth; 555 pp
Published: 08/12/1997
Status: Available 

Our Price: $96.99

About the Book 


Using Java 1.1, this book teaches the fundamentals of data structures and algorithms. With this exciting new language, Tim Standish takes a fresh look at the subject matter. New challenges arise any time a new language is used, and the author meets these challenges. For example, although Java is a language without explicit pointers, this book offers pointer diagrams to help students visualize, reason about, and understand this major Data Structures topic. Standish's clear presentation helps readers tie the many concepts of data structures together with recurring themes. Central ideas-such as modularity, levels of abstraction, efficiency, and tradeoffs-serve as integrators in the book in order to tie the material together conceptually and to reveal its underlying unity and interrelationships.

Features


  • Starts with introduction to OO Programming, allowing any language or programming paradigm to be used in CS1. 
  • Covers Software Engineering in a 70-page appendix, and accompanying lab manual. Basic principles are introduced early. 
  • Assumes less sophisticated math background of students but offers sophisticated math ideas in Appendix B. 
Related Books

Data Structures - Programming Courses (Data Structures)

 Table of Contents


1. Preparing for the Journey. 
Where Are We Going?
Blending Mathematics, Science, and Engineering.
The Search for Enduring Principles in Computer Science.
Principles of Software System Structure.
Efficiency and Tradeoffs.
Software Engineering Principles.
Our Approach to Mathematics.
Some Notes on Programming Notation.
Preview of Coming Attractions.

2. Introduction to Object-Oriented Programming. 
A Rectangle Drawing Applet.
The DrawShapes Applet.
Drawing Some Conclusions.

3. Linked Data Representations. 
What are Pointers? The Basic Intuition.
Using Java’s Implicit Pointers — The Rudiments.
Pointer Diagramming Notation.
Linear Linked Lists.
Other Linked Data Structures.

4. Introduction to Recursion. 
Thinking Recursively.
Common Pitfall — Infinite Regresses.
A Recursive Algorithm with Exponential Running Time.

5. Modularity and Data Abstraction. 
Priority Queues — An Abstract Data Type.
Two Implementations for Priority Queues.
Plugging in New Kinds of Objects into Priority Queues.
Modularity and Information Hiding in Program Design.

6. Linear Data Structures — Stacks and Queues. 
Some Background on Stacks.
ADTs for Stacks and Queues.
Using the Stack ADT to Check for Balanced Parentheses.
Using the Stack ADT to Evaluate Postfix Expressions.
Implementing the Stack ADT.
How Java Implements Recursive Method Calls Using Stacks.
Implementations of the Queue ADT.
More Queue Applications.

7. Lists, Strings, and Dynamic Memory Allocation. 
Lists.
Generalized Lists.
Applications of Generalized Lists.
Strings.
Dynamic Memory Allocation.

8. Trees and Graphs. 
Trees — Basic Concepts and Terminology.
Binary Trees.
A Sequential Binary Tree Representation.
An Application — Heaps and Priority Queues.
Traversing Binary Trees.
Binary Search Trees.
AVL Trees and Their Performance.
Two-Three Trees.
Tries.
An Application — Huffman Codes.
Graphs — Basic Concepts and Terminology.
Graph Representations.
Graph Searching.
Topological Ordering.

9. Hashing and the Table ADT. 
The Table ADT.
Introduction to Hashing by Simple Examples.
Collisions, Load Factors, and Clusters.
Algorithms for Hashing by Open Addressing.
Choosing a Hash Function.
Comparison of Searching Methods Using the Table ADT.

10. Sorting. 
Laying Some Groundwork.
Priority Queue Sorting Methods.
Divide-and-Conquer Methods.
Methods That Insert Keys and Keep Them Sorted.
O(n) Methods — Address Calculation Sorting.
Other Methods.
Comparison and Perspective.

Appendix A - A Review of Some Basic Java Features. 
Appendix B - The Language of Efficiency. 
Appendix C - Software Engineering Concepts.




Have a special request? Send inquires to Customer Service


Business Software | Operating Systems & Servers | Development Tools | Internet Technologies
Home Productivity | Reference Software | Microsoft Press
Home Page

Copyright 2002-2004 Stolin-Group (all rights reserved).
Product images provided by their respective owners (example) Microsoft®, McGraw Hill®, Osborne Media®, Sams Publishing®
Please respect these trademarks when using their intelectual properties!