Home > Store

Data Structures and Algorithm Analysis in C++, 3rd Edition

Register your product to gain access to bonus material or receive a coupon.

Data Structures and Algorithm Analysis in C++, 3rd Edition

Book

  • Sorry, this book is no longer in print.
Not for Sale

About

Features

  • 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.
  • All code has been updated and tested on multiple platforms and conforms to the ISO standard.

Description

  • Copyright 2007
  • Edition: 3rd
  • Book
  • ISBN-10: 0-321-44146-X
  • ISBN-13: 978-0-321-44146-1

Advanced Data Structures/Algorithms C++

Data Structures and Algorithm Analysis in C++, 3/e

Mark Allen Weiss, Florida International University

ISBN : 0-321-37531-9

Mark Allen Weiss teaches readers to reduce time constraints and develop programs efficiently by analyzing an algorithm’s feasibility before it is coded. His innovative approach to advanced algorithms and data structures simultaneously develops sound algorithm analysis and programming skills.

The Third Edition features a full C++ language update and incorporation of the Standard Template Library. There is new treatment of lists, stacks, queues, and trees, and an entire chapter dedicated to amortized analysis and advanced data structures such as the Fibonacci heap.

Highlights of the Third Edition

• All code has been updated and tested to ensure compliance with the ANSI/ISO C++ standards

• Standard Template Library fully incorporated throughout the text

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

• Readability enhanced by fresh interior design with new figures and examples

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

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

Sample Content

Table of Contents

Chapter 1 - Introduction

1.1 What’s the Book About?

1.2 Mathematics Review

1.3 A Brief Introduction to Recursion

1.4 C++ Classes

1.5 C++ Details

1.6 Templates

1.7 Using Matrices

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 vector and list in the STL

3.4 Implementation of vector

3.5 Implementation of list

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

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 Indirect Sorting

7.9 A General Lower Bound for Sorting

7.10 Bucket Sort

7.11 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

Appendix A - Separate Compilation Of Class Templates

Updates

Submit Errata

More Information

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.