Introduction to the Design and Analysis of Algorithms, 3rd edition
Your access includes:
 Search, highlight, notes, and more
 Easily create flashcards
 Use the app for access anywhere
 14day refund guarantee
$10.99per month
Minimum 4month term, pay monthly or pay $43.96 upfront
Learn more, spend less

Find it fast
Quickly navigate your eTextbook with search

Stay organized
Access all your eTextbooks in one place

Easily continue access
Keep learning with autorenew
Overview
Published by Pearson (July 14th 2021)  Copyright © 2012
ISBN13: 9780137541133
Subject: General Engineering
Category: Engineering Math
Overview
Table of Contents
 New to the Third Edition
 Preface
 Introduction
 1.1 What Is an Algorithm?
 Exercises 1.1
 1.2 Fundamentals of Algorithmic Problem Solving
 Understanding the Problem
 Ascertaining the Capabilities of the Computational Device
 Choosing between Exact and Approximate Problem Solving
 Algorithm Design Techniques
 Designing an Algorithm and Data Structures
 Methods of Specifying an Algorithm
 Proving an Algorithm’s Correctness
 Analyzing an Algorithm
 Coding an Algorithm
 Exercises 1.2
 1.3 Important Problem Types
 Sorting
 Searching
 String Processing
 Graph Problems
 Combinatorial Problems
 Geometric Problems
 Numerical Problems
 Exercises 1.3
 1.4 Fundamental Data Structures
 Linear Data Structures
 Graphs
 Trees
 Sets and Dictionaries
 Exercises 1.4
 Summary
 1.1 What Is an Algorithm?
 Fundamentals of the Analysis of Algorithm Efficiency
 2.1 The Analysis Framework
 Measuring an Input’s Size
 Units for Measuring Running Time
 Orders of Growth
 WorstCase, BestCase, and AverageCase Efficiencies
 Recapitulation of the Analysis Framework
 Exercises 2.1
 2.2 Asymptotic Notations and Basic Efficiency Classes
 Informal Introduction
 Onotation
 notation
 notation
 Useful Property Involving the Asymptotic Notations
 Using Limits for Comparing Orders of Growth
 Basic Efficiency Classes
 Exercises 2.2
 2.3 Mathematical Analysis of Nonrecursive Algorithms
 Exercises 2.3
 2.4 Mathematical Analysis of Recursive Algorithms
 Exercises 2.4
 2.5 Example: Computing the nth Fibonacci Number
 Exercises 2.5
 2.6 Empirical Analysis of Algorithms
 Exercises 2.6
 2.7 Algorithm Visualization
 Summary
 2.1 The Analysis Framework
 Brute Force and Exhaustive Search
 3.1 Selection Sort and Bubble Sort
 Selection Sort
 Bubble Sort
 Exercises 3.1
 3.2 Sequential Search and BruteForce String Matching
 Sequential Search
 BruteForce String Matching
 Exercises 3.2
 3.3 ClosestPair and ConvexHull Problems by Brute Force
 ClosestPair Problem
 ConvexHull Problem
 Exercises 3.3
 3.4 Exhaustive Search
 Traveling Salesman Problem
 Knapsack Problem
 Assignment Problem
 Exercises 3.4
 3.5 DepthFirst Search and BreadthFirst Search
 DepthFirst Search
 BreadthFirst Search
 Exercises 3.5
 Summary
 3.1 Selection Sort and Bubble Sort
 DecreaseandConquer
 4.1 Insertion Sort
 Exercises 4.1
 4.2 Topological Sorting
 Exercises 4.2
 4.3 Algorithms for Generating Combinatorial Objects
 Generating Permutations
 Generating Subsets
 Exercises 4.3
 4.4 DecreasebyaConstantFactor Algorithms
 Binary Search
 FakeCoin Problem
 Russian Peasant Multiplication
 Josephus Problem
 Exercises 4.4
 4.5 VariableSizeDecrease Algorithms
 Computing a Median and the Selection Problem
 Interpolation Search
 Searching and Insertion in a Binary Search Tree
 The Game of Nim
 Exercises 4.5
 Summary
 4.1 Insertion Sort
 DivideandConquer
 5.1 Mergesort
 Exercises 5.1
 5.2 Quicksort
 Exercises 5.2
 5.3 Binary Tree Traversals and Related Properties
 Exercises 5.3
 5.4 Multiplication of Large Integers and Strassen’s Matrix Multiplication
 Multiplication of Large Integers
 Strassen’s Matrix Multiplication
 Exercises 5.4
 5.5 The ClosestPair and ConvexHull Problems
 by DivideandConquer
 The ClosestPair Problem
 ConvexHull Problem
 Exercises 5.5
 Summary
 5.1 Mergesort
 TransformandConquer
 6.1 Presorting
 Exercises 6.1
 6.2 Gaussian Elimination
 LU Decomposition
 Computing a Matrix Inverse
 Computing a Determinant
 Exercises 6.2
 6.3 Balanced Search Trees
 AVL Trees
 23 Trees
 Exercises 6.3
 6.4 Heaps and Heapsort
 Notion of the Heap
 Heapsort
 Exercises 6.4
 6.5 Horner’s Rule and Binary Exponentiation
 Horner’s Rule
 Binary Exponentiation
 Exercises 6.5
 6.6 Problem Reduction
 Computing the Least Common Multiple
 Counting Paths in a Graph
 Reduction of Optimization Problems
 Linear Programming
 Reduction to Graph Problems
 Exercises 6.6
 Summary
 6.1 Presorting
 Space and Time TradeOffs
 7.1 Sorting by Counting
 Exercises 7.1
 7.2 Input Enhancement in String Matching
 Horspool’s Algorithm
 BoyerMoore Algorithm
 Exercises 7.2
 7.3 Hashing
 Open Hashing (Separate Chaining)
 Closed Hashing (Open Addressing)
 Exercises 7.3
 7.4 BTrees
 Exercises 7.4
 Summary
 7.1 Sorting by Counting
 Dynamic Programming
 8.1 Three Basic Examples
 Exercises 8.1
 8.2 The Knapsack Problem and Memory Functions
 Memory Functions
 Exercises 8.2
 8.3 Optimal Binary Search Trees
 Exercises 8.3
 8.4 Warshall’s and Floyd’s Algorithms
 Warshall’s Algorithm
 Floyd’s Algorithm for the AllPairs ShortestPaths Problem
 Exercises 8.4
 Summary
 8.1 Three Basic Examples
 Greedy Technique
 9.1 Prim’s Algorithm
 Exercises 9.1
 9.2 Kruskal’s Algorithm
 Disjoint Subsets and UnionFind Algorithms
 Exercises 9.2
 9.3 Dijkstra’s Algorithm
 Exercises 9.3
 9.4 Huffman Trees and Codes
 Exercises 9.4
 Summary
 9.1 Prim’s Algorithm
 Iterative Improvement
 10.1 The Simplex Method
 Geometric Interpretation of Linear Programming
 An Outline of the Simplex Method
 Further Notes on the Simplex Method
 Exercises 10.1
 10.2 The MaximumFlow Problem
 Exercises 10.2
 10.3 Maximum Matching in Bipartite Graphs
 Exercises 10.3
 10.4 The Stable Marriage Problem
 Exercises 10.4
 Summary
 10.1 The Simplex Method
 Limitations of Algorithm Power
 11.1 LowerBound Arguments
 Trivial Lower Bounds
 InformationTheoretic Arguments
 Adversary Arguments
 Problem Reduction
 Exercises 11.1
 11.2 Decision Trees
 Decision Trees for Sorting
 Decision Trees for Searching a Sorted Array
 Exercises 11.2
 11.3 P, NP, and NPComplete Problems
 P and NP Problems
 NPComplete Problems
 Exercises 11.3
 11.4 Challenges of Numerical Algorithms
 Exercises 11.4
 Summary
 11.1 LowerBound Arguments
 Coping with the Limitations of Algorithm Power
 12.1 Backtracking
 nQueens Problem
 Hamiltonian Circuit Problem
 SubsetSum Problem
 General Remarks
 Exercises 12.1
 12.2 BranchandBound
 Assignment Problem
 Knapsack Problem
 Traveling Salesman Problem
 Exercises 12.2
 12.3 Approximation Algorithms for NPHard Problems
 Approximation Algorithms for the Traveling Salesman Problem
 Approximation Algorithms for the Knapsack Problem
 Exercises 12.3
 12.4 Algorithms for Solving Nonlinear Equations
 Bisection Method
 Method of False Position
 Newton’s Method
 Exercises 12.4
 Summary
 Epilogue
 12.1 Backtracking
APPENDIX A
 Useful Formulas for the Analysis of Algorithms
 Properties of Logarithms
 Combinatorics
 Important Summation Formulas
 Sum Manipulation Rules
 Approximation of a Sum by a Definite Integral
 Floor and Ceiling Formulas
 Miscellaneous
APPENDIX B
 Short Tutorial on Recurrence Relations
 Sequences and Recurrence Relations
 Methods for Solving Recurrence Relations
 Common Recurrence Types in Algorithm Analysis
References
Hints to Exercises
Index
Your questions answered
When you purchase an eTextbook subscription, it will last 4 months. You can renew your subscription by selecting Extend subscription on the Manage subscription page in My account before your initial term ends.
If you extend your subscription, we'll automatically charge you every month. If you made a one‑time payment for your initial 4‑month term, you'll now pay monthly. To make sure your learning is uninterrupted, please check your card details.
To avoid the next payment charge, select Cancel subscription on the Manage subscription page in My account before the renewal date. You can subscribe again in the future by purchasing another eTextbook subscription.
When you purchase a Channels subscription it will last 1 month, 3 months or 12 months, depending on the plan you chose. Your subscription will automatically renew at the end of your term unless you cancel it.
We use your credit card to renew your subscription automatically. To make sure your learning is uninterrupted, please check your card details.