did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

We're the #1 textbook rental company. Let us show you why.

9780201361209

Algorithms in Java, Parts 1-4

by
  • ISBN13:

    9780201361209

  • ISBN10:

    0201361205

  • Edition: 3rd
  • Format: Paperback
  • Copyright: 2002-07-23
  • Publisher: Addison-Wesley Professional
  • View Upgraded Edition

Note: Supplemental materials are not guaranteed with Rental or Used book purchases.

Purchase Benefits

  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
  • Complimentary 7-Day eTextbook Access - Read more
    When you rent or buy this book, you will receive complimentary 7-day online access to the eTextbook version from your PC, Mac, tablet, or smartphone. Feature not included on Marketplace Items.
List Price: $69.99 Save up to $17.50
  • Buy Used
    $52.49
    Add to Cart Free Shipping Icon Free Shipping

    USUALLY SHIPS IN 2-4 BUSINESS DAYS

    7-Day eTextbook Access 7-Day eTextbook Access

Supplemental Materials

What is included with this book?

Summary

Sedgewick has a real gift for explaining concepts in a way that makes them easy to understand. The use of real programs in page-size (or less) chunks that can be easily understood is a real plus. The figures, programs, and tables are a significant contribution to the learning experience of the reader; they make this book distinctive. --William A. Ward, University of South Alabama This edition of Robert Sedgewick's popular work provides current and comprehensive coverage of important algorithms for Java programmers. Michael Schidlowsky and Sedgewick have developed new Java implementations that both express the methods in a concise and direct manner and provide programmers with the practical means to test them on real applications. Many new algorithms are presented, and the explanations of each algorithm are much more detailed than in previous editions. A new text design and detailed, innovative figures, with accompanying commentary, greatly enhance the presentation. The third edition retains the successful blend of theory and practice that has made Sedgewick's work an invaluable resource for more than 400,000 programmers! This particular book, Parts 1-4, represents the essential first half of Sedgewick's complete work. It provides extensive coverage of fundamental data structures and algorithms for sorting, searching, and related applications. Although the substance of the book applies to programming in any language, the implementations by Schidlowsky and Sedgewick also exploit the natural match between Java classes and abstract data type (ADT) implementations. bull;Highlights Java class implementations of more than 100 important practical algorithms Emphasis on ADTs, modular programming, and object-oriented programming Extensive coverage of arrays, linked lists, trees, and other fundamental data structures Thorough treatment of algorithms for sorting, selection, priority queue ADT implementations, and symbol table ADT implementations (search algorithms) Complete implementations for binomial queues, multiway radix sorting, randomized BSTs, splay trees, skip lists, multiway tries, B trees, extendible hashing, and many other advanced methods Quantitative information about the algorithms that gives you a basis for comparing them More than 1,000 exercises and more than 250 detailed figures to help you learn properties of the algorithms Whether you are learning the algorithms for the first time or wish to have up-to-date reference material that incorporates new programming styles with classic and new algorithms, you will find a wealth of useful information in this book. 0201361205B08282002

Author Biography

Robert Sedgewick is the William O. Baker Professor of Computer Science at Princeton University

Table of Contents

Fundamentals
Introductionp. 3
Algorithmsp. 4
A Sample Problem: Connectivityp. 7
Union-Find Algorithmsp. 11
Perspectivep. 22
Summary of Topicsp. 24
Principles of Algorithm Analysisp. 27
Implementation and Empirical Analysisp. 28
Analysis of Algorithmsp. 33
Growth of Functionsp. 36
Big-Oh Notationp. 44
Basic Recurrencesp. 49
Examples of Algorithm Analysisp. 53
Guarantees, Predictions, and Limitationsp. 60
Data Structures
Elementary Data Structuresp. 69
Building Blocksp. 70
Arraysp. 84
Linked Listsp. 91
Elementary List Processingp. 97
Memory Allocation for Listsp. 107
Stringsp. 111
Compound Data Structuresp. 116
Abstract Data Typesp. 127
Collections of Itemsp. 137
Pushdown Stack ADTp. 139
Examples of Stack ADT Clientsp. 142
Stack ADT Implementationsp. 148
Generic Implementationsp. 154
Creation of a New ADTp. 157
FIFO Queues and Generalized Queuesp. 165
Duplicate and Index Itemsp. 173
First-Class ADTsp. 177
Application-Based ADT Examplep. 188
Perspectivep. 194
Recursion and Treesp. 197
Recursive Algorithmsp. 198
Divide and Conquerp. 206
Dynamic Programmingp. 219
Treesp. 227
Mathematical Properties of Treesp. 236
Tree Traversalp. 240
Recursive Binary-Tree Algorithmsp. 246
Graph Traversalp. 251
Perspectivep. 257
Sorting
Elementary Sorting Methodsp. 263
Rules of the Gamep. 265
Generic Sort Implementationsp. 270
Selection Sortp. 283
Insertion Sortp. 285
Bubble Sortp. 288
Performance Characteristics of Elementary Sortsp. 289
Algorithm Visualizationp. 295
Shellsortp. 300
Sorting Linked Listsp. 308
Key-Indexed Countingp. 312
Quicksortp. 315
The Basic Algorithmp. 316
Performance Characteristics of Quicksortp. 321
Stack Sizep. 325
Small Subfilesp. 328
Median-of-Three Partitioningp. 331
Duplicate Keysp. 336
Strings and Vectorsp. 339
Selectionp. 341
Merging and Mergesortp. 347
Two-Way Mergingp. 348
Abstract In-Place Mergep. 351
Top-Down Mergesortp. 353
Improvements to the Basic Algorithmp. 357
Bottom-Up Mergesortp. 359
Performance Characteristics of Mergesortp. 363
Linked-List Implementations of Mergesortp. 366
Recursion Revisitedp. 370
Priority Queues and Heapsortp. 373
Elementary Implementationsp. 377
Heap Data Structurep. 381
Algorithms on Heapsp. 383
Heapsortp. 389
Priority-Queue ADTp. 396
Priority Queues for Client Arraysp. 402
Binomial Queuesp. 406
Radix Sortingp. 417
Bits, Bytes, and Wordsp. 419
Binary Quicksortp. 423
MSD Radix Sortp. 427
Three-Way Radix Quicksortp. 435
LSD Radix Sortp. 441
Performance Characteristics of Radix Sortsp. 444
Sublinear-Time Sortsp. 448
Special-Purpose Sorting Methodsp. 453
Batcher's Odd-Even Mergesortp. 455
Sorting Networksp. 460
Sorting In Placep. 468
External Sortingp. 474
Sort-Merge Implementationsp. 480
Parallel Sort-Mergep. 486
Searching
Symbol Tables and BSTsp. 495
Symbol-Table Abstract Data Typep. 497
Key-Indexed Searchp. 507
Sequential Searchp. 511
Binary Searchp. 519
Index Implementations with Symbol Tablesp. 524
Binary Search Treesp. 531
Performance Characteristics of BSTsp. 537
Insertion at the Root in BSTsp. 542
BST Implementations of Other ADT Operationsp. 546
Balanced Treesp. 555
Randomized BSTsp. 559
Splay BSTsp. 566
Top-Down 2-3-4 Treesp. 572
Red-Black Treesp. 577
Skip Listsp. 587
Performance Characteristicsp. 595
Hashingp. 599
Hash Functionsp. 600
Separate Chainingp. 610
Linear Probingp. 615
Double Hashingp. 620
Dynamic Hash Tablesp. 625
Perspectivep. 629
Radix Searchp. 635
Digital Search Treesp. 637
Triesp. 641
Patricia Triesp. 650
Multiway Tries and TSTsp. 660
Text-String-Index Applicationsp. 679
External Searchingp. 685
Rules of the Gamep. 687
Indexed Sequential Accessp. 690
B Treesp. 692
Extendible Hashingp. 706
Perspectivep. 718
Appendixp. 723
Indexp. 727
Table of Contents provided by Ingram. All Rights Reserved.

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Excerpts

This book is the first of three volumes that are intended to survey the most important computer algorithms in use today. This first volume (Parts 1-4) covers fundamental concepts (Part 1), data structures (Part 2), sorting algorithms (Part 3), and searching algorithms (Part 4); the second volume (Part 5) covers graphs and graph algorithms; and the (yet to be published) third volume (Parts 6-8) covers strings (Part 6), computational geometry (Part 7), and advanced algorithms and applications (Part 8). The books are useful as texts early in the computer science curriculum, after students have acquired basic programming skills and familiarity with computer systems, but before they have taken specialized courses in advanced areas of computer science or computer applications. The books also are useful for self-study or as a reference for people engaged in the development of computer systems or applications programs because they contain implementations of useful algorithms and detailed information on these algorithms' performance characteristics. The broad perspective taken makes the series an appropriate introduction to the field. Together the three volumes comprise theThird Editionof a book that has been widely used by students and programmers around the world for many years. I have completely rewritten the text for this edition, and I have added thousands of new exercises, hundreds of new figures, dozens of new programs, and detailed commentary on all the figures and programs. This new material provides both coverage of new topics and fuller explanations of many of the classic algorithms. A new emphasis on abstract data types throughout the books makes the programs more broadly useful and relevant in modern object-oriented programming environments. People who have read previous editions will find a wealth of new information throughout; all readers will find a wealth of pedagogical material that provides effective access to essential concepts. These books are not just for programmers and computer science students. Everyone who uses a computer wants it to run faster or to solve larger problems. The algorithms that we consider represent a body of knowledge developed during the last 50 years that is the basis for the efficient use of the computer for a broad variety of applications. From N-body simulation problems in physics to genetic-sequencing problems in molecular biology, the basic methods described here have become essential in scientific research; and from database systems to Internet search engines, they have become essential parts of modern software systems. As the scope of computer applications becomes more widespread, so grows the impact of basic algorithms. The goal of this book is to serve as a resource so that students and professionals can know and make intelligent use of these fundamental algorithms as the need arises in whatever computer application they might undertake. Scope This book,Algorithms in Java, Third Edition, Parts 1-4, contains 16 chapters grouped into four major parts: fundamentals, data structures, sorting, and searching. The descriptions here are intended to give readers an understanding of the basic properties of as broad a range of fundamental algorithms as possible. The algorithms described here have found widespread use for years, and represent an essential body of knowledge for both the practicing programmer and the computerscience student. The second volume is devoted to graph algorithms, and the third consists of four additional parts that cover strings, geometry, and advanced topics. My primary goal in developing these books has been to bring together fundamental methods from these areas, to provide access to the best methods known for solving problems by computer. You will most appreciate the material here if you have had one or two previous courses in co

Rewards Program