Algorithm Design, Pearson New International Edition, 1st edition

Published by Pearson (July 30, 2013) © 2013

  • Jon Kleinberg Cornell University
  • Eva Tardos Cornell University

eTextbook

£43.99

  • Easy-to-use search and navigation
  • Add notes and highlights
  • Search by keyword or page
£82.99

  • A print text (hardcover or paperback)
  • Free shipping

August 6, 2009 Author, Jon Kleinberg, was recently cited in the New York Times for his statistical analysis research in the Internet age.

Algorithm Design introduces algorithms by looking at the real-world problems that motivate them. The book teaches students a range of design and analysis techniques for problems that arise in computing applications. The text encourages an understanding of the algorithm design process and an appreciation of the role of algorithms in the broader field of computer science.

  • Focus on problem analysis and design techniques.
  • Discussion is grounded in concrete problems and examples rather than abstract presentation of principles, with representative problems woven throughout the text.
  • Over 200 well crafted problems from companies such as Yahoo!® and Oracle®. Each problem has been class tested for usefulness and accuracy in the authors' own undergraduate algorithms courses.
  • Broad coverage of algorithms for dealing with NP-hard problems and the application of randomization, increasingly important topics in algorithms.

The full text downloaded to your computer

With eBooks you can:

  • search for key concepts, words and phrases
  • make highlights and notes as you study
  • share your notes with friends

eBooks are downloaded to your computer and accessible either offline through the Bookshelf (available as a free download), available online and also via the iPad and Android apps.

Upon purchase, you'll gain instant access to this eBook.

Algorithm Design
Jon Kleinberg and Eva Tardos

Table of Contents

1 Introduction: Some Representative Problems  

 1.1 A First Problem: Stable Matching  

 1.2 Five Representative Problems  
 Solved Exercises
Excercises
Notes and Further Reading

 

 

2 Basics of Algorithms Analysis  

 2.1 Computational Tractability  

 2.2 Asymptotic Order of Growth Notation  

 2.3 Implementing the Stable Matching Algorithm using Lists and Arrays

 2.4 A Survey of Common Running Times  

 2.5 A More Complex Data Structure: Priority Queues

 Solved Exercises  
 Exercises  
 Notes and Further Reading

 

 

3 Graphs  

 3.1 Basic Definitions and Applications  

 3.2 Graph Connectivity and Graph Traversal  
 3.3 Implementing Graph Traversal using Queues and Stacks
 3.4 Testing Bipartiteness: An Application of Breadth-First Search  
 3.5 Connectivity in Directed Graphs  
 3.6 Directed Acyclic Graphs and Topological Ordering  
 Solved Exercises  
Exercises  
 Notes and Further Reading


 

 4 Divide and Conquer  
 4.1 A First Recurrence: The Mergesort Algorithm
 4.2 Further Recurrence Relations
 4.3 Counting Inversions
 4.4 Finding the Closest Pair of Points
 4.5 Integer Multiplication
 4.6 Convolutions and The Fast Fourier Transform
 Solved Exercises
 Exercises
 Notes and Further Reading

 

5 Greedy Algorithms  
 5.1 Interval Scheduling: The Greedy Algorithm Stays Ahead  
 5.2 Scheduling to Minimize Lateness: An Exchange Argument
 5.3 Optimal Caching: A More Complex Exchange Argument
 5.4 Shortest Paths in a Graph  
 5.5 The Minimum Spanning Tree Problem  
 5.6 Implementing Kruskal's Algorithm: The Union-Find Data Structure
 5.7 Clustering  
 5.8 Huffman Codes and the Problem of Data Compression
*5.9 Minimum-Cost Arborescences: A Multi-Phase Greedy Algorithm  
 Solved Exercises
 Excercises
 Notes and Further Reading

 

6 Dynamic Programming  
 6.1 Weighted Interval Scheduling: A Recursive Procedure  
6.2 Weighted Interval Scheduling: Iterating over Sub-Problems  
 6.3 Segmented Least Squares: Multi-way Choices  
 6.4 Subset Sums and Knapsacks: Adding a Variable  
 6.5 RNA Secondary Structure: Dynamic Programming Over Intervals  
 6.6 Sequence Alignment  
 6.7 Sequence Alignment in Linear Space
 6.8 Shortest Paths in a Graph  
 6.9 Shortest Paths and Distance Vector Protocols  
*6.10 Negative Cycles in a Graph  

Solved Exercises
Exercises
Notes and Further Reading

 

 

7 Network Flow  
 7.1 The Maximum Flow Problem and the Ford-Fulkerson Algorithm
 7.2 Maximum Flows and Minimum Cuts in a Network  
 7.3 Choosing Good Augmenting Paths  
*7.4 The Preflow-Push Maximum Flow Algorithm  
 7.5 A First Application: The Bipartite Matching Problem
 7.6 Disjoint Paths in Directed and Undirected Graphs
 7.7 Extensions to the Maximum Flow Problem  
 7.8 Survey Design  
 7.9 Airline Scheduling  
 7.10 Image Segmentation&nbs

Need help? Get in touch

Video
Play
Privacy and cookies
By watching, you agree Pearson can share your viewership data for marketing and analytics for one year, revocable by deleting your cookies.

Pearson eTextbook: What’s on the inside just might surprise you

They say you can’t judge a book by its cover. It’s the same with your students. Meet each one right where they are with an engaging, interactive, personalized learning experience that goes beyond the textbook to fit any schedule, any budget, and any lifestyle.Â