Algorithm Design, 1st edition

  • Jon Kleinberg, 
  • Eva Tardos

Choose the option that's right for you


$9.99 / mo

4-month minimum term for $39.96

  • Access this eText title
  • Up to 2 devices
  • Discounted tutor access


$14.99 / mo

4-month minimum term for $59.96

  • Access over 1,500 titles
  • Up to 2 devices
  • Discounted tutor access

Learn more, spend less

  • Learn anytime, anywhere

    Get the app to access your eText whenever you need it

  • Make it your own

    Your notes. Your highlights. Your eText

  • Find it fast

    Quickly navigate your eText with search

  • Stay organized

    Access all your eTexts in one place

  • Easily continue access

    Keep learning with auto-renew


Algorithm Design introduces you to algorithms and the real-world problems that motivate them. You'll learn a range of design and analysis techniques for problems that arise in computing applications. You'll also come to understand the algorithm design process and recognize the role of algorithms in computer science.

Published by Pearson (July 14th 2021) - Copyright © 2006

ISBN-13: 9780137546350

Subject: Electrical & Computer Engineering

Category: Algorithms

Table of contents

1. Introduction: Some Representative Problems
A First Problem: Stable Matching
Five Representative Problems
Solved Exercises
Notes and Further Reading

2. Basics of Algorithms Analysis
Computational Tractability
Asymptotic Order of Growth Notation
Implementing the Stable Matching Algorithm using Lists and Arrays
A Survey of Common Running Times
A More Complex Data Structure: Priority Queues
Solved Exercises
Notes and Further Reading

3. Graphs
Basic Definitions and Applications
Graph Connectivity and Graph Traversal
Implementing Graph Traversal using Queues and Stacks
Testing Bipartiteness: An Application of Breadth-First Search
Connectivity in Directed Graphs
Directed Acyclic Graphs and Topological Ordering
Solved Exercises
Notes and Further Reading

4. Greedy Algorithms
Interval Scheduling: The Greedy Algorithm Stays Ahead
Scheduling to Minimize Lateness: An Exchange Argument
Optimal Caching: A More Complex Exchange Argument
Shortest Paths in a Graph
The Minimum Spanning Tree Problem
Implementing Kruskal's Algorithm: The Union-Find Data Structure
Huffman Codes and the Problem of Data Compression
Minimum-Cost Arborescences: A Multi-Phase Greedy Algorithm
Solved Exercises
Notes and Further Reading

5. Divide and Conquer
A First Recurrence: The Mergesort Algorithm
Further Recurrence Relations
Counting Inversions
Finding the Closest Pair of Points
Integer Multiplication
Convolutions and The Fast Fourier Transform
Solved Exercises
Notes and Further Reading

6. Dynamic Programming
Weighted Interval Scheduling: A Recursive Procedure
Weighted Interval Scheduling: Iterating over Sub-Problems
Segmented Least Squares: Multi-way Choices
Subset Sums and Knapsacks: Adding a Variable
RNA Secondary Structure: Dynamic Programming Over Intervals
Sequence Alignment
Sequence Alignment in Linear Space
Shortest Paths in a Graph
Shortest Paths and Distance Vector Protocols
Negative Cycles in a Graph
Solved Exercises
Notes and Further Reading

7. Network Flow
The Maximum Flow Problem and the Ford-Fulkerson Algorithm
Maximum Flows and Minimum Cuts in a Network
Choosing Good Augmenting Paths
The Preflow-Push Maximum Flow Algorithm
A First Application: The Bipartite Matching Problem
Disjoint Paths in Directed and Undirected Graphs
Extensions to the Maximum Flow Problem
Survey Design
Airline Scheduling
Image Segmentation
Project Selection
Baseball Elimination
A Further Direction: Adding Costs to the Matching Problem
Solved Exercises
Notes and Further Reading

8. NP and Computational Intractability
Polynomial-Time Reductions
Reductions via "Gadgets": The Satisfiability Problem
Efficient Certification and the Definition of NP
NP-Complete Problems
Sequencing Problems
Partitioning Problems
Graph Coloring
Numerical Problems
Co-NP and the Asymmetry of NP
A Partial Taxonomy of Hard Problems
Solved Exercises
Notes and Further Reading

Your questions answered

Introducing Pearson+. Reimagined learning, designed for you. Choose from one eText or over 1,500 eTexts and study tools, all in one place, for one low monthly subscription. A new way to buy books that fits your budget. Make the most of your study time with offline access, enhanced search, notes and flashcards — to get organized, get the work done quicker and get results. Plus, with the app, put textbooks in your pocket and learn wherever. It's time to upgrade the textbook and simplify learning, so you can have time to live too.

Pearson eText is an easy-to-use digital textbook available from Pearson+. Make it your own by adding notes and highlights. Download the Pearson+ mobile app to learn on the go, even offline. Listen on the go with our new audiobook feature, available for most titles.

When you choose a plan, you're signing up for a 4-month 'term'. We will charge your payment method each month until your 4-month term has ended. You can turn on auto-renew in My account at any time to continue your subscription before your 4-month term has ended.

When you purchase a Pearson+ subscription, it will last 4 months. Before your initial 4-month term ends, you can extend your subscription by turning auto-renew on in My account. If you turn auto-renew on, we’ll automatically renew your subscription and charge you every month until you turn off auto-renew.

To avoid the next payment charge, make sure you turn auto renewal off 1 day before the auto renewal date. You can subscribe again after auto-renew has been turned off by purchasing another Pearson+ subscription. We use your credit card to renew your subscription automatically. To make sure your learning is uninterrupted, please check your card details before your first monthly payment.

With a Multi Pearson+ subscription plan, you can download up to 5 titles on the Pearson+ app from My list on each of your authorized devices every month.

When you're using your Multi Pearson+ subscription plan in a browser, you can select and read from as many titles as you like.