Data Structures and Algorithms in Java / Edition 4

Data Structures and Algorithms in Java / Edition 4

by Michael T. Goodrich, Roberto Tamassia, Roberto Tomassia
     
 

View All Available Formats & Editions

ISBN-10: 0471738840

ISBN-13: 9780471738848

Pub. Date: 08/12/2005

Publisher: Wiley

Fundamental data structures in a consistent object-oriented framework

Now revised to reflect the innovations of Java 5.0, Goodrich and Tamassia’s Fourth Edition of Data Structures and Algorithms in Java continues to offer accessible coverage of fundamental data structures, using a consistent object-oriented framework. The authors provide

Overview

Fundamental data structures in a consistent object-oriented framework

Now revised to reflect the innovations of Java 5.0, Goodrich and Tamassia’s Fourth Edition of Data Structures and Algorithms in Java continues to offer accessible coverage of fundamental data structures, using a consistent object-oriented framework. The authors provide intuition, description, and analysis of fundamental data structures and algorithms. Numerous illustrations, web-based animations, and simplified mathematical analyses justify important analytical concepts.

Key Features of the Fourth Edition:

  • Updates to Java 5.0 include new sections on generics and other Java 5.0 features, and revised code fragments, examples, and case studies to conform to Java 5.0.
  • Hundreds of exercises, including many that are new to this edition, promote creativity and help readers learn how to think like programmers and reinforce important concepts.
  • New case studies illustrate topics such as web browsers, board games, and encryption.
  • A new early chapter covers Arrays, Linked Lists, and Recursion.
  • A new final chapter on Memory covers memory management and external memory data structures and algorithms.
  • Java code examples are used extensively, with source code provided on the website.
  • Online animations and effective in-text art illustrate data structures and algorithms in a clear, visual manner.

Access additional resources on the web www.wiley.com/college/goodrich):

  • Java source code for all examples in the book
  • Animations
  • Library (net.datastructures) of Java constructs used in the book
  • Problems database and search engine
  • Student hints to all exercises in the book
  • Instructor resources, including solutions to selected exercises
  • Lecture slides

Product Details

ISBN-13:
9780471738848
Publisher:
Wiley
Publication date:
08/12/2005
Edition description:
REV
Pages:
720
Product dimensions:
7.64(w) x 9.43(h) x 1.32(d)

Table of Contents

1Java Programming1
1.1Classes, Types, and Objects3
1.2Methods11
1.3Expressions17
1.4Control Flow25
1.5Arrays32
1.6Simple Input and Output33
1.7An Example Program36
1.8Packages40
1.9Writing a Java Program42
1.10Utilities in the java.lang Package49
1.11Exercises51
2Object-Oriented Design55
2.1Goals and Principles56
2.2Inheritance and Polymorphism62
2.3Exceptions76
2.4Interfaces and Abstract Classes80
2.5Casting84
2.6Design Patterns89
2.7Exercises92
3Analysis Tools97
3.1What Is Running Time Anyway?98
3.2Pseudo-Code100
3.3A Quick Mathematical Review103
3.4Simple Justification Techniques106
3.5Analysis of Algorithms111
3.6Asymptotic Notation114
3.7Asymptotic Analysis120
3.8Exercises126
4Stacks, Queues, and Deques135
4.1Stacks136
4.2Queues149
4.3Linked Lists159
4.4Double-Ended Queues166
4.5Sample Case Study Application173
4.6Exercises179
5Vectors, Lists, and Sequences183
5.1Vectors185
5.2Lists194
5.3Sequences206
5.4Case Study: Bubble-Sort on a Sequence211
5.5Iterators214
5.6A Hierarchy of Sequence ADTs216
5.7Exercises219
6Trees227
6.1The Tree Abstract Data Type229
6.2Basic Algorithms on Trees236
6.3Binary Trees246
6.4Data Structures for Representing Trees263
6.5Exercises274
7Priority Queues285
7.1The Priority Queue Abstract Data Type287
7.2Implementing a Priority Queue with a Sequence295
7.3Heaps301
7.4The Locator Design Pattern319
7.5Exercises326
8Dictionaries333
8.1The Dictionary Abstract Data Type335
8.2Log Files340
8.3Hash Tables341
8.4The Ordered Dictionary ADT357
8.5Look-Up Tables358
8.6Skip Lists362
8.7Supporting Locators in a Dictionary370
8.8Exercises373
9Search Trees379
9.1Binary Search Trees382
9.2AVL Trees393
9.3Multi-Way Search Trees404
9.4(2,4) Trees408
9.5Red-Black Trees416
9.6External Searching434
9.7Exercises439
10Sorting, Sets, and Selection447
10.1Merge-Sort448
10.2The Set ADT461
10.3Quick-Sort467
10.4A Lower Bound on Comparison-Based Sorting478
10.5Bucket-Sort and Radix-Sort480
10.6Comparison of Sorting Algorithms483
10.7Selection484
10.8Exercises488
11Text Processing495
11.1String Operations497
11.2Pattern Matching Algorithms500
11.3Tries512
11.4Text Compression523
11.5Text Similarity Testing526
11.6Exercises531
12Graphs537
12.1The Graph Abstract Data Type539
12.2Data Structures for Graphs547
12.3Graph Traversal557
12.4Directed Graphs570
12.5Weighted Graphs584
12.6Shortest Paths585
12.7Minimum Spanning Trees596
12.8Exercises606
A Useful Mathematical Facts617
Bibliography625
Index630

Customer Reviews

Average Review:

Write a Review

and post it to your social network

     

Most Helpful Customer Reviews

See all customer reviews >