- Volume
-
Parts 1-4 ISBN 9780201361209
Description
For the first time, Sedgewick's seminal work on algorithms and data structures is available with implementations in Java. Michael Schidlowsky and Sedgewick have developed new Java code that both expresses the methods in a concise and direct manner, and also provides programmers with the practical means to test them on real applications. This particular book, Parts 1-4, represents the essential first half of Sedgewick's complete work. Its four parts are fundamentals, data structures, sorting, and searching. It has expanded coverage of arrays, linked lists, strings, trees, ADT's, and object-oriented programming.
Table of Contents
I. FUNDAMENTALS.
1. Introduction.
Algorithms.
A Sample Problem: Connectivity.
Union-Find Algorithms.
Perspective.
Summary of Topics.
2. Principles of Algorithm Analysis.
Implementation and Empirical Analysis.
Analysis of Algorithms.
Growth of Functions.
Big-Oh notation.
Basic Recurrences.
Examples of Algorithm Analysis.
Guarantees, Predictions, and Limitations.
II. DATA STRUCTURES.
3. Elementary Data Structures.
Building Blocks.
Arrays.
Linked Lists.
Elementary List Processing.
Memory Allocation for Lists.
Strings.
Compound Data Structures.
4. Abstract Data Types.
Collections of Items.
Pushdown Stack ADT.
Examples of Stack ADT Clients.
Stack ADT Implementations.
Generic Implementations.
Creation of a New ADT.
FIFO Queues and Generalized Queues.
Duplicate and Index Items.
First-Class ADTs.
Application-Based ADT Example.
Perspective.
5. Recursion and Trees.
Recursive Algorithms.
Divide and Conquer.
Dynamic Programming.
Trees.
Mathematical Properties of Trees.
Tree Traversal.
Recursive Binary-Tree Algorithms.
Graph Traversal.
Perspective.
III. SORTING.
6. Elementary Sorting Methods.
Rules of the Game.
Generic Sort Implementations.
Selection Sort.
Insertion Sort.
Bubble Sort.
Performance Characteristics of Elementary Sorts.
Algorithm Visualization.
Shellsort.
Sorting Linked Lists.
Key-Indexed Counting.
7. Quicksort 315.
The Basic Algorithm.
Performance Characteristics of Quicksort.
Stack Size.
Small Subfiles.
Median-of-Three Partitioning.
Duplicate Keys.
Strings and Vectors.
Selection.
8. Merging and Mergesort.
Two-Way Merging.
Abstract In-Place Merge.
Top-Down Mergesort.
Improvements to the Basic Algorithm.
Bottom-Up Mergesort.
Performance Characteristics of Mergesort.
Linked-List Implementations of Mergesort.
Recursion Revisited.
9. Priority Queues and Heapsort.
Elementary Implementations.
Heap Data Structure.
Algorithms on Heaps.
Heapsort.
Priority-Queue ADT.
Priority Queues for Index Items.
Binomial Queues.
10. Radix Sorting.
Bits, Bytes, and Words.
Binary Quicksort.
MSD Radix Sort.
Three-Way Radix Quicksort.
LSD Radix Sort.
Performance Characteristics of Radix Sorts.
Sublinear-Time Sorts.
11. Special-Purpose Sorts.
Batcher's Odd-Even Mergesort.
Sorting Networks.
Sorting In Place.
External Sorting.
Sort-Merge Implementations.
Parallel Sort-Merge.
IV. SEARCHING.
12. Symbol Tables and BSTs.
Symbol-Table Abstract Data Type.
Key-Indexed Search.
Sequential Search.
Binary Search.
Index Implementations with Symbol Tables.
Binary Search Trees.
Performance Characteristics of BSTs.
Insertion at the Root in BSTs.
BST Implementations of Other ADT Functions.
13. Balanced Trees.
Randomized BSTs.
Splay BSTs.
Top-Down 2-3-4 Trees.
Red-Black Trees.
Skip Lists.
Performance Characteristics.
14. Hashing.
Hash Functions.
Separate Chaining.
Linear Probing.
Double Hashing.
Dynamic Hash Tables.
Perspective.
15. Radix Search.
Digital Search Trees.
Tries.
Patricia Tries.
Multiway Tries and TSTs.
Text-String-Index Applications.
16. External Searching.
Rules of the Game.
Indexed Sequential Access.
B Trees.
Extendible Hashing.
Perspective.
Appendix.
Index. 0201361205T06262002
- Volume
-
Part 5 ISBN 9780201361216
Description
Robert Sedgewick, along with Donald Knuth, is one of the very few people with a world-wide reputation for their contributions to the field of computer algorithms. This book is the second of three volumes that survey the most important computer algorithms in use today. Much more than a standard revision, this is a major rewrite. The material is more than five times as long as in the previous edition, which was only available in C and C++. KEY TOPICS: Sedgewick has added a wealth of new exercises, hundreds of new figures, and dozens of new programs. This volume, Part 5, covers graph algorithms, which are pervasive in modern computing appications. Graph algorithms are increasingly critical for a wide range of applications, such as network connectivity, circuit design, scheduling, transaction processing, and resource allocation. In the third edition, 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. Source code for the implementations is available on the Web. The C and C++ versions of this volume have been previously published. Unlike any other book on algorithms, not only will programmers get practical information on using algorithms in their work, they can also be assured that these algorithms rest on the most solid scientific foundations. MARKET: Both professional programmers and computer science students.
Table of Contents
PART V. GRAPH ALGORITHMS.
17. Graph Properties and Types.
Glossary.
Graph ADT.
Adjacency-Matrix Representation.
Adjacency-Lists Representation.
Variations, Extensions, and Costs.
Graph Generators.
Simple, Euler, and Hamilton Paths.
Graph-Processing Problems.
18. Graph Search.
Exploring a Maze.
Depth-First Search.
Graph-Search ADT Functions.
Properties of DFS Forests.
DFS Algorithms.
Separability and Biconnectivity.
Breadth-First Search.
Generalized Graph Search.
Analysis of Graph Algorithms.
19. Digraphs and DAGs.
Glossary and Rules of the Game.
Anatomy of DFS in Digraphs.
Reachability and Transitive Closure.
Equivalence Relations and Partial Orders.
DAGs.
Topological Sorting.
Reachability in DAGs.
Strong Components in Digraphs.
Transitive Closure Revisited.
Perspective.
20. Minimum Spanning Trees.
Representations.
Underlying Principles of MST Algorithms.
Prim's Algorithm and Priority-First Search.
Kruskal's Algorithm.
Boruvka's Algorithm.
Comparisons and Improvements.
Euclidean MST.
21. Shortest Paths.
Underlying Principles.
Dijkstra's Algorithm.
All-Pairs Shortest Paths.
Shortest Paths in Acyclic Networks.
Euclidean Networks.
Reduction.
Negative Weights.
Perspective.
22. Network Flow.
Flow Networks.
Augmenting-Path Maxflow Algorithms.
Preflow-Push Maxflow Algorithms.
Maxflow Reductions.
Mincost Flows.
Network Simplex Algorithm.
Mincost-Flow Reductions.
Perspective.
References for Part Five.
Index.
by "Nielsen BookData"