did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

We're the #1 textbook rental company. Let us show you why.

9780763782504

Foundations of Algorithms

by
  • ISBN13:

    9780763782504

  • ISBN10:

    0763782505

  • Edition: 4th
  • Format: Hardcover
  • Copyright: 2009-12-28
  • Publisher: Jones & Bartlett Learning
  • View Upgraded Edition
  • Purchase Benefits
  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $214.95 Save up to $1.07
  • Buy New
    $213.88
    Add to Cart Free Shipping Icon Free Shipping

    USUALLY SHIPS IN 3-5 BUSINESS DAYS

Supplemental Materials

What is included with this book?

Summary

Revised and updated, the Fourth Edition of Foundations of Algorithms continues to offer a well-balanced presentation of algorithm design, complexity of algorithms and computational complexity. Perfect for mainstream computer science students with a background in college algebra and discrete structures, this edition presents mathematical concepts using lucid explanations and a simpler notation than is found in most texts. The authors reinforce key algorithmic explanations with numerous concrete examples to help students grasp theoretical concepts.

Table of Contents

Algorithms: Efficiency, Analysis, and Orderp. 1
Algorithmsp. 2
The Importance of Developing Efficient Algorithmsp. 9
Sequential Search Versus Binary Searchp. 9
The Fibonacci Sequencep. 12
Analysis of Algorithmsp. 17
Complexity Analysisp. 17
Applying the Theoryp. 24
Analysis of Correctnessp. 24
Orderp. 25
An Intuitive Introduction to Orderp. 25
A Rigorous Introduction to Orderp. 28
Using a Limit to Determine Orderp. 39
Outline of This Bookp. 41
Exercisesp. 42
Divide-and-Conquerp. 47
Binary Searchp. 48
Mergesortp. 53
The Divide-and-Conquer Approachp. 59
Quicksort (Partition Exchange Sort)p. 60
Strassen's Matrix Multiplication Algorithmp. 67
Arithmetic with Large Numbersp. 72
Representation of Large Integers: Addition and Other Linear-Time Operationsp. 72
Multiplication of Large Integersp. 72
Determining Thresholdsp. 78
When Not to Use Divide-and-Conquerp. 82
Exercisesp. 83
Dynamic Programmingp. 91
The Binomial Coefficientp. 92
Floyd's Algorithm for Shortest Pathsp. 97
Dynamic Programming and Optimization Problemsp. 105
Chained Matrix Multiplicationp. 107
Optimal Binary Search Treesp. 116
The Traveling Salesperson Problemp. 125
Sequence Alignmentp. 133
Exercisesp. 141
The Greedy Approachp. 145
Minimum Spanning Treesp. 148
Prim's Algorithmp. 152
Kruskal's Algorithmp. 158
Comparing Prim's Algorithm with Kruskal's Algorithmp. 163
Final Discussionp. 163
Dijkstra's Algorithm for Single-Source Shortest Pathsp. 164
Schedulingp. 167
Minimizing Total Time in the Systemp. 167
Scheduling with Deadlinesp. 170
Huffman Codep. 177
Prefix Codesp. 178
Huffman's Algorithmp. 179
The Greedy Approach Versus Dynamic Programming: The Knapsack Problemp. 183
A Greedy Approach to the 0-1 Knapsack Problemp. 183
A Greedy Approach to the Fractional Knapsack Problemp. 185
A Dynamic Programming Approach to the 0-1 Knapsack Problemp. 185
A Refinement of the Dynamic Programming Algorithm for the 0-1 Knapsack Problemp. 186
Exercisesp. 189
Backtrackingp. 197
The Backtracking Techniquep. 198
The n-Queens Problemp. 206
Using a Monte Carlo Algorithm to Estimate the Efficiency of a Backtracking Algorithmp. 210
The Sum-of-Subsets Problemp. 214
Graph Coloringp. 219
The Hamiltonian Circuits Problemp. 224
The 0-1 Knapsack Problemp. 227
A Backtracking Algorithm for the 0-1 Knapsack Problemp. 227
Comparing the Dynamic Programming Algorithm and the Backtracking Algorithm for the 0-1 Knapsack Problemp. 237
Exercisesp. 237
Branch-and-Boundp. 243
Illustrating Branch-and-Bound with the 0-1 Knapsack Problemp. 245
Breadth-First Search with Branch-and-Bound Pruningp. 245
Best-First Search with Branch-and-Bound Pruningp. 251
The Traveling Salesperson Problemp. 26
Abductive Inference (Diagnosis)p. 265
Exercisesp. 274
Introduction to Computational Complexity: The Sorting Problemp. 277
Computational Complexityp. 278
Insertion Sort and Selection Sortp. 280
Lower Bounds for Algorithms that Remove at Most One Inversion per Comparisonp. 285
Mergesort Revisitedp. 287
Quicksort Revisitedp. 293
Heapsortp. 295
Heaps and Basic Heap Routinesp. 295
An Implementation of Heapsortp. 299
Comparison of Mergesort, Quicksort, and Heapsortp. 306
Lower Bounds for Sorting Only by Comparison of Keysp. 307
Decision Trees for Sorting Algorithmsp. 307
Lower Bounds for Worst-Case Behaviorp. 310
Lower Bounds for Average-Case Behaviorp. 313
Sorting by Distribution (Radix Sort)p. 318
Exercisesp. 322
More Computational Complexity: The Searching Problemp. 329
Lower Bounds for Searching Only by Comparisons of Keysp. 330
Lower Bounds for Worst-Case Behaviorp. 332
Lower Bounds for Average-Case Behaviorp. 334
Interpolation Searchp. 340
Searching in Treesp. 343
Binary Search Treesp. 344
B-Treesp. 348
Hashingp. 349
The Selection Problem: Introduction to Adversary Argumentsp. 354
Finding the Largest Keyp. 355
Finding Both the Smallest and Largest Keysp. 356
Finding the Second-Largest Keyp. 363
Finding the kth-Smallest Keyp. 368
A Probabilistic Algorithm for the Selection Problemp. 376
Exercisesp. 380
Computational Complexity and intractability: An Introduction to the Theory of NPp. 385
Intractabilityp. 386
Input Size Revisitedp. 388
The Three General Problemsp. 392
Problems for Which Polynomial-Time Algorithms Have Been Foundp. 392
Problems That Have Been Proven to Be Intractablep. 392
Problems That Have Not Been Proven to Be Intractable but for Which Polynomial-Time Algorithms Have Never Been Foundp. 393
The Theory of NPp. 394
The Sets P and NPp. 396
NP-Complete Problemsp. 400
NP-Hard, NP-Easy, and NP-Equivalent Problemsp. 412
Handling NP-Hard Problemsp. 416
An Approximation Algorithm for the Traveling Salesperson Problemp. 417
An Approximation Algorithm for the Bin-Packing Problemp. 421
Exercisesp. 426
Number-Theoretic Algorithmsp. 429
Number Theory Reviewp. 430
Composite and Prime Numbersp. 430
Greatest Common Divisorp. 431
Prime Factorizationp. 434
Least Common Multiplep. 437
Computing the Greatest Common Divisorp. 437
Euclid's Algorithmp. 438
An Extension to Euclid's Algorithmp. 442
Modular Arithmetic Reviewp. 444
Group Theoryp. 444
Congruency Modulo np. 446
Subgroupsp. 452
Solving Modular Linear Equationsp. 458
Computing Modular Powersp. 464
Finding Large Prime Numbersp. 466
Searching for a Large Primep. 467
Checking if a Number Is Primep. 468
The RSA Public-Key Cryptosystemp. 486
Public-Key Cryptosystemsp. 486
The RSA Cryptosystemp. 487
Exercisesp. 490
Introduction to Parallel Algorithmsp. 495
Parallel Architecturesp. 498
Control Mechanismp. 498
Address-Space Organizationp. 500
Interconnection Networksp. 501
The PRAM Modelp. 505
Designing Algorithms for the CREW PRAM Modelp. 507
Designing Algorithms for the CRCW PRAM Modelp. 515
Exercisesp. 518
Review of Necessary Mathematicsp. 521
Notationp. 521
Functionsp. 523
Mathematical Inductionp. 524
Theorems and Lemmasp. 531
Logarithmsp. 532
Definition and Properties of Logarithmsp. 532
The Natural Logarithmp. 534
Setsp. 536
Permutations and Combinationsp. 538
Probabilityp. 541
Randomnessp. 546
The Expected Valuep. 550
Exercisesp. 552
Solving Recurrence Equations: With Applications to Analysis of Recursive Algorithmsp. 559
Solving Recurrences Using Inductionp. 559
Solving Recurrences Using the Characteristic Equationp. 563
Homogeneous Linear Recurrencesp. 563
Nonhomogeneous Linear Recurrencesp. 572
Change of Variables (Domain Transformations)p. 578
Solving Recurrences by Substitutionp. 581
Extending Results for n, a Power of a Positive Constant b, to n in Generalp. 583
Proofs of Theoremsp. 589
Exercisesp. 592
Data Structures for Disjoint Setsp. 599
Referencesp. 609
Indexp. 615
Table of Contents provided by Ingram. All Rights Reserved.

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program