|

Addison-Wesley / Prentice Hall

Computer Science

My Instructor Resource Center :  Log in or request access

Data Structures and Algorithm Analysis in Java, 2/E
Mark Allen WeissFlorida International University

ISBN-10: 0321370139
ISBN-13:  9780321370136

Publisher:  Addison-Wesley
Copyright:  2007
Format:  Paper; 576 pp
Published:  02/21/2006
Status: Instock



As the speed and power of computers increases, so does the need for effective programming and algorithm analysis. By approaching these skills in tandem, Mark Allen Weiss teaches readers to develop well-constructed, maximally efficient programs in Java.

A full language update to Java 5.0 throughout the text--particularly its use of generics–adds immeasurable value to this advanced study of data structures and algorithms. This Second Edition features integrated coverage of the Java Collections Library as well as a complete revision of lists, stacks, queues, and trees.

Weiss clearly explains topics from binary heaps to sorting to NP-completeness, and dedicates a full chapter to amortized analysis and advanced data structures and their implementation. Figures and examples illustrating successive stages of algorithms contribute to Weiss’ careful, rigorous and in-depth analysis of each type of algorithm. A logical organization of topics and full access to source code compliment the text’s coverage.

  • Up-to-date use of Java 5.0 including its use of generics.

 

  •  Integrated coverage of the Java Collections Library.

 

  • Discussion of algorithm and design techniques covers greedy algorithms, divide and conquer algorithms, dynamic programming, randomized algorithms, and backtracking.

 

  • Covers topics and data structures such as Fibonacci heaps, skew heaps, binomial queue, skip lists and splay trees.

 

  • A full chapter on amortized analysis examines the advanced data structures presented earlier in the book.

 

  • Chapter on advanced data structures and their implementation covers red black trees, top down splay trees, treaps, k-d trees, pairing heaps, and more.

 

  • End-of-chapter exercises, ranked by difficulty, reinforce the material from the chapter while providing readers an opportunity to put those concepts into practice.

 

  • PowerPoint figures and solutions to exercises are available to qualified instructors.

 

  • Revised Chapter 3, Lists, Stacks, and Queues, offers up-to-date coverage that emphasizes the use of ADTs and includes plenty of ideas for programming assignments.

 

  • New material on trees in Chapter 4.

 

  • The Java Collections Library has been integrated throughout the text.

 

  • Enhanced interior design–including redesigned figures and examples--adds to the book’s readability. 

 

Chapter 1 Introduction

1.1 What’s the Book About?

1.2 Mathematics Review

1.3 A Brief Introduction to Recursion

1.4 Implementing Generic Components Pre Java 5

1.5 Implementing Generic Components Using Java 5 Generics

1.6 Function Objects

 

Chapter 2 Algorithm Analysis

2.1 Mathematical Background

2.2 Model

2.3 What to Analyze

2.4 Running Time Calculations

 

Chapter 3 Lists, Stacks, and Queues

3.1 Abstract Data Types (ADTs)

3.2 The List ADT

3.3 Lists in the Java Collections API

3.4 Implementation of ArrayList

3.5 Implementation of LinkedList

3.6 The Stack ADT

3.7 The Queue ADT

 

Chapter 4 Trees

4.1 Preliminaries

4.2 Binary Trees

4.3 The Search Tree ADT–Binary Search Trees

4.4 AVL Trees

4.5 Splay Trees

4.6 Tree Traversals (Revisited)

4.7 B-Trees

4.8 Sets and Maps in the Standard Library

4.9 Summary

 

Chapter 5 Hashing

5.1 General Idea

5.2 Hash Function

5.3 Separate Chaining

5.4 Hash Tables Without Linked Lists

5.5 Rehashing

5.6 Hash Tables in the Standard Library

5.7 Extendible Hashing

 

Chapter 6 Priority Queues (Heaps)

6.1 Model

6.2 Simple Implementations

6.3 Binary Heap

6.4 Applications of Priority Queues

6.5 d-Heaps

6.6 Leftist Heaps

6.7 Skew Heaps

6.8 Binomial Queues

6.9 Priority Queues in the Standard Library

 

Chapter 7 Sorting

7.1 Preliminaries

7.2 Insertion Sort

7.3 A Lower Bound for Simple Sorting Algorithms

7.4 Shellsort

7.5 Heapsort

7.6 Mergesort

7.7 Quicksort

7.8 A General Lower Bound for Sorting

7.9 Bucket Sort

7.10 External Sorting

 

Chapter 8 The Disjoint Set Class

8.1 Equivalence Relations

8.2 The Dynamic Equivalence Problem

8.3 Basic Data Structure

8.4 Smart Union Algorithms

8.5 Path Compression

8.6 Worst Case for Union-by-Rank and Path Compression

8.7 An Application

 

Chapter 9 Graph Algorithms

9.1 Definitions

9.2 Topological Sort

9.3 Shortest-Path Algorithms

9.4 Network Flow Problems

9.5 Minimum Spanning Tree

9.6 Applications of Depth-First Search

9.7 Introduction to NP-Completeness

 

Chapter 10 Algorithm Design Techniques

10.1 Greedy Algorithms

10.2 Divide and Conquer

10.3 Dynamic Programming

10.4 Randomized Algorithms

10.5 Backtracking Algorithms

 

Chapter 11 Amortized Analysis

11.1 An Unrelated Puzzle

11.2 Binomial Queues

11.3 Skew Heaps

11.4 Fibonacci Heaps

11.5 Splay Trees

 

Chapter 12 Advanced Data Structures and Implementation

12.1 Top-Down Splay Trees

12.2 Red-Black Trees

12.3 Deterministic Skip Lists

12.4 AA-Trees

12.5 Treaps

12.6 k-d Trees

12.7 Pairing Heaps

 

Advanced Data Structures/Algorithms Java

 

Data Analysis and Algorithm Analysis in Java, 2/e

Mark Allen Weiss, Florida International University

ISBN : 0-321-37013-9

 

As the speed and power of computers increase, so does the need for effective programming and algorithm analysis. Mark Allen Weiss approaches these skills jointly to teach the development of well-constructed, maximally efficient programs in Java.

 

Readers benefit from the full language update to Java 5.0, including generics, and the integrated coverage of the Java Collections Library in this advanced study of data structures and algorithms. Weiss clearly explains his careful, rigorous and in-depth analysis of each type of algorithm.

 

This Second Edition features:

 

• Full integration of the new Java 5.0 programming language and the Java Collections Library

 

• Enhanced interior design, with figures and examples illustrating successive stages of algorithms

 

• Completely revised coverage of lists, stacks, and queues in Chapter 3

 

• Full chapter dedicated to the implementation of amortized analysis and advanced data structures

 

• End-of-chapter exercises, ranked by difficulty, reinforce key chapter concepts

 

 

 

Visit aw.com/computing for more information about Addison-Wesley computing books.

Figures for Data Structures and Algorithm Analysis in Java, 2/E
Weiss
©2007 | Addison-Wesley | On-line Supplement | Instock
ISBN-10: 0321395670 | ISBN-13: 9780321395672
    View Downloadable Files

Solutions Manual, 2/E
Weiss
©2007 | Addison-Wesley | On-line Supplement | Instock
ISBN-10: 0321409477 | ISBN-13: 9780321409478
    View Downloadable Files

Source Code, 2/E
Weiss
©2007 | Addison-Wesley | On-line Supplement | Instock
ISBN-10: 0321409450 | ISBN-13: 9780321409454
    View Downloadable Files

CS Support-Student Support Material
Addison-Wesley
©2008 | Addison-Wesley | On-line Supplement | Instock
ISBN-10: 0321446852 | ISBN-13: 9780321446855


Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students, browse our available packages below, or contact your Pearson Higher Education representative to create your own package.

Package ISBN-10: 0321506170 | ISBN-13: 9780321506177
©2007 | Instock
Suggested retail price: $122.00  Buy from myPearsonStore

This package contains:

Weiss | ©2007 | Addison-Wesley | Paper; 576 pp
DePasquale | ©2005 | Addison-Wesley | Paper; 96 pp