| help | account  


Algorithms in C++, 3rd Edition Parts 1-4
View Larger Image
Robert Sedgewick
Addison-Wesley, Paperback, 3rd edition, Published July 1998, 752 pages, ISBN 0201350882
List Price: $64.99
Our Price: $55.95
You Save: $9.04 (14% Off)


FREE Shipping on Orders over $40!*
Availability: Out-Of-Stock

Be the First to Write a Review and tell the world about this title!

Books on similar topics, in best-seller order:

Books from the same publisher, in best-seller order:

Robert Sedgewick has thoroughly rewritten and substantially expanded and updated his popular work to provide current and comprehensive coverage of important algorithms and data structures. Christopher Van Wyk and Sedgewick have developed new C++ implementations that both express the methods in a concise and direct manner, and also 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 250,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 Van Wyk and Sedgewick also exploit the natural match between C++ classes and ADT implementations.

Highlights

  • Expanded coverage of arrays, linked lists, strings, trees, and other basic data structures
  • Greater emphasis on abstract data types (ADTs), modular programming, object-oriented programming, and C++ classes than in previous editions
  • Over 100 algorithms for sorting, selection, priority queue ADT implementations, and symbol table ADT (searching) implementations
  • New implementations of binomial queues, multiway radix sorting, randomized BSTs, splay trees, skip lists, multiway tries, B trees, extendible hashing, and much more
  • Increased quantitative information about the algorithms, giving you a basis for comparing them
  • Over 1000 new exercises to help you learn the properties of 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.

Table of Contents

Fundamentals
Chapter 1. Introduction 3

1.1 Algorithms
1.2 A Sample Problem-Connectivity
1.3 Union-Find Algorithms
1.4 Perspective
1.5 Summary of Topics

Chapter 2. Principles of Algorithm Analysis 27
2.1 Implementation and Empirical Analysis 2.2 Analysis of Algorithms
2.3 Growth of Functions
2.4 Big-Oh Notation
2.5 Basic Recurrences
2.6 Examples of Algorithm Analysis
2.7 Guarantees, Predictions, and Limitations

Data Structures
Chapter 3. Elementary Data Structures 69

3.1 Building Blocks
3.2 Arrays
3.3 Linked Lists
3.4 Elementary List Processing
3.5 Memory Allocation for Lists
3.6 Strings
3.7 Compound Data Structures

Chapter 4. Abstract Data Types 129
4.1 Abstract Objects and Collections of Objects
4.2 Pushdown Stack ADT
4.3 Examples of Stack ADT Clients
4.4 Stack ADT Implementations
4.5 Creation of a New ADT
4.6 FIFO Queues and Generalized Queues
4.7 Duplicate and Index Items
4.8 First-Class ADTs
4.9 Application-Based ADT Example
4.10 Perspective

Chapter 5. Recursion and Trees 201
5.1 Recursive Algorithms
5.2 Divide and Conquer
5.3 Dynamic Programming
5.4 Trees
5.5 Mathematical Properties of Trees
5.6 Tree Traversal
5.7 Recursive Binary-Tree Algorithms
5.8 Graph Traversal
5.9 Perspective

Sorting
Chapter 6. Elementary Sorting Methods 265

6.1 Rules of the Game
6.2 Selection Sort
6.3 Insertion Sort
6.4 Bubble Sort
6.5 Performance Characteristics of Elementary Sorts
6.6 Shellsort
6.7 Sorting Other Types of Data
6.8 Index and Pointer Sorting
6.9 Sorting Linked Lists
6.10 Key-Indexed Counting

Chapter 7. Quicksort 315
7.1 The Basic Algorithm
7.2 Performance Characteristics of Quicksort
7.3 Stack Size
7.4 Small Subfiles
7.5 Median-of-Three Partitioning
7.6 Duplicate Keys
7.7 Strings and Vectors
7.8 Selection

Chapter 8. Merging and Mergesort 347
8.1 Two-Way Merging
8.2 Abstract In-Place Merge
8.3 Top-Down Mergesort
8.4 Improvements to the Basic Algorithm
8.5 Bottom-Up Mergesort
8.6 Performance Characteristics of Mergesort
8.7 Linked-List Implementations of Mergesort
8.8 Recursion Revisited

Chapter 9. Priority Queues and Heapsort 373
9.1 Elementary Implementations
9.2 Heap Data Structure
9.3 Algorithms on Heaps
9.4 Heapsort
9.5 Priority-Queue ADT
9.6 Priority Queues for Index Items
9.7 Binomial Queues

Chapter 10. Radix Sorting 417
10.1 Bits, Bytes, and Words
10.2 Binary Quicksort
10.3 MSD Radix Sort
10.4 Three-Way Radix Quicksort
10.5 LSD Radix Sort
10.6 Performance Characteristics of Radix Sorts
10.7 Sublinear-Time Sorts

Chapter 11. Special-Purpose Sorts 451
11.1 Batcher's Odd-Even Mergesort
11.2 Sorting Networks
11.3 External Sorting
11.4 Sort-Merge Implementations
11.5 Parallel Sort/Merge

Searching
Chapter 12. Symbol Tables and BSTs 489

12.1 Symbol-Table Abstract Data Type
12.2 Key-Indexed Search
12.3 Sequential Search
12.4 Binary Search
12.5 Binary Search Trees (BSTs)
12.6 Performance Characteristics of BSTs
12.7 Index Implementations with Symbol Tables
12.8 Insertion at the Root in BSTs
12.9 BST Implementations of Other ADT Functions

Chapter 13. Balanced Trees 543
13.1 Randomized BSTs
13.2 Splay BSTs
13.3 Top-Down 2-3-4 Trees
13.4 Red-Black Trees
13.5 Skip Lists
13.6 Performance Characteristics
14.2 Separate Chaining
14.3 Linear Probing
14.4 Double Hashing
14.5 Dynamic Hash Tables
14.6 Perspective

Chapter 15. Radix Search 623
15.1 Digital Search Trees
15.2 Tries
15.3 Patricia Tries
15.4 Multiway Tries and TSTs
15.5 Text String Index Applications

Chapter 16. External Searching 669
16.1 Rules of the Game
16.2 Indexed Sequential Access
16.3 B Trees
16.4 Extendible Hashing
16.5 Perspective

Index 707




Forgot your password?
FAQs
Shipping Options
Returns
Your Orders
Your Account