GradeFocus
BooksCategoriesAuthorsAboutContact
GradeFocus

Find textbooks and academic resources at competitive prices. Compare listings from VitalSource, Amazon, and more to save money on your course materials.

Browse

  • Books
  • Categories
  • Authors

Company

  • About
  • Contact
  • FAQ

Legal

  • Privacy
  • Terms
  • DMCA

© 2026 GradeFocus. All rights reserved.

PrivacyTermsSitemap
  1. Home
  2. /Computer Science & IT
Algorithm Design and Applications cover

Algorithm Design and Applications

by Michael T. Goodrich, Roberto Tamassia

1st Edition

Publisher: Wiley

(0 reviews)
Computer Science & IT

Compare Prices

VitalSourceLifetime Access$89.95AmazonKindle$89.95Best PriceeTextShelfPDF$38.00

Book Details

Print ISBN9781118335918
eText ISBN9781119028611
PublisherWiley
Publishing Year2014
Edition1st Edition
LanguageEnglish
Pages800

Algorithm Design and Applications, 1st Edition, is a computer science textbook by Michael T. Goodrich and Roberto Tamassia that integrates theoretical analysis with practical application. Published by Wiley, the work shows how foundational algorithmic concepts operate across technological and scientific domains.

The text addresses core data structures, sorting and selection, algorithmic paradigms such as the greedy method and dynamic programming, and computational intractability. It also explores graph algorithms, approximation methods, and specialized topics including computational geometry and cryptography.

Designed for core or advanced coursework, every chapter begins with a practical discussion demonstrating real-world applications in society, gaming, industry, science, engineering, or the internet.

Table of Contents

  1. Chapter 1: AlgorithmAnalysis

    • • 1.1 Analyzing Algorithms
    • • 1.2 A Quick Mathematical Review
    • • 1.3 A Case Study in Algorithm Analysis
    • • 1.4 Amortization
    • • 1.5 Exercises
  2. Chapter 2: BasicDataStructures

    • • 2.1 Stacks and Queues
    • • 2.2 Lists
    • • 2.3 Trees
    • • 2.4 Exercises
  3. Chapter 3: BinarySearchTrees

    • • 3.1 Searches and Updates
    • • 3.2 Range Queries
    • • 3.3 Index-Based Searching
    • • 3.4 Randomly-Constructed Search Trees
    • • 3.5 Exercises
  4. Chapter 4: BalancedBinarySearchTrees

    • • 4.1 Ranks and Rotations
    • • 4.2 AVL Trees
    • • 4.3 Red-Black Trees
    • • 4.4 Weak AVL Trees
    • • 4.5 Splay Trees
    • • 4.6 Exercises
  5. Chapter 5: PriorityQueuesandHeaps

    • • 5.1 Priority Queues
    • • 5.2 PQ-Sort, Selection-Sort, and Insertion-Sort
    • • 5.3 Heaps
    • • 5.4 Heap-Sort
    • • 5.5 Extending Priority Queues
    • • 5.6 Exercises
  6. Chapter 6: HashTables

    • • 6.1 Maps
    • • 6.2 Hash Functions
    • • 6.3 Handling Collisions and Rehashing
    • • 6.4 Cuckoo Hashing
    • • 6.5 Universal Hashing
    • • 6.6 Exercises
  7. Chapter 7: Union-FindStructures

    • • 7.1 Union-Find and its Applications
    • • 7.2 A List-Based Implementation
    • • 7.3 A Tree-Based Implementation
    • • 7.4 Exercises
  8. Chapter 8: Merge-SortandQuick-Sort

    • • 8.1 Merge-Sort
    • • 8.2 Quick-Sort
    • • 8.3 A Lower Bound on Comparison-Based Sorting
    • • 8.4 Exercises
  9. Chapter 9: FastSortingandSelection

    • • 9.1 Bucket Sort and Radix Sort
    • • 9.2 Selection
    • • 9.3 Weighted Medians
    • • 9.4 Exercises
  10. Chapter 10: The Greedy Method

    • • 10.1 The Fractional Knapsack Problem
    • • 10.2 Task Scheduling
    • • 10.3 Text Compression and Huffman Coding
    • • 10.4 Exercises
  11. Chapter 11: Divide-and-Conquer

    • • 11.1 Recurrences and the Master Theorem
    • • 11.2 Integer Multiplication
    • • 11.3 Matrix Multiplication
    • • 11.4 The Maxima-Set Problem
    • • 11.5 Exercises
  12. Chapter 12: Dynamic Programming

    • • 12.1 Matrix Chain-Products
    • • 12.2 The General Technique
    • • 12.3 Telescope Scheduling
    • • 12.4 Game Strategies
    • • 12.5 The Longest Common Subsequence Problem
    • • 12.6 The 0-1 Knapsack Problem
    • • 12.7 Exercises
  13. Chapter 13: Graphs and Traversals

    • • 13.1 Graph Terminology and Representations
    • • 13.2 Depth-First Search
    • • 13.3 Breadth-First Search
    • • 13.4 Directed Graphs
    • • 13.5 Biconnected Components
    • • 13.6 Exercises
  14. Chapter 14: Shortest Paths

    • • 14.1 Single-Source Shortest Paths
    • • 14.2 Dijkstra’s Algorithm
    • • 14.3 The Bellman-Ford Algorithm
    • • 14.4 Shortest Paths in Directed Acyclic Graphs
    • • 14.5 All-Pairs Shortest Paths
    • • 14.6 Exercises
  15. Chapter 15: Minimum Spanning Trees

    • • 15.1 Properties of Minimum Spanning Trees
    • • 15.2 Kruskal’s Algorithm
    • • 15.3 The Prim-Jarn´ýk Algorithm
    • • 15.4 Bar°uvka’s Algorithm
    • • 15.5 Exercises
  16. Chapter 16: Network Flow and Matching

    • • 16.1 Flows and Cuts
    • • 16.2 Maximum Flow Algorithms
    • • 16.3 Maximum Bipartite Matching
    • • 16.4 Baseball Elimination
    • • 16.5 Minimum-Cost Flow
    • • 16.6 Exercises
  17. Chapter 17: NP-Completeness

    • • 17.1 P and NP
    • • 17.2 NP-Completeness
    • • 17.3 CNF-SAT and 3SAT
    • • 17.4 VERTEX-COVER, CLIQUE, and SET-COVER
    • • 17.5 SUBSET-SUM and KNAPSACK
    • • 17.6 HAMILTONIAN-CYCLE and TSP
    • • 17.7 Exercises
  18. Chapter 18: Approximation Algorithms

    • • 18.1 The Metric Traveling Salesperson Problem
    • • 18.2 Approximations for Covering Problems
    • • 18.3 Polynomial-Time Approximation Schemes
    • • 18.4 Backtracking and Branch-and-Bound
    • • 18.5 Exercises
  19. Chapter 19: Randomized Algorithms

    • • 19.1 Generating Random Permutations
    • • 19.2 Stable Marriages and Coupon Collecting
    • • 19.3 Minimum Cuts
    • • 19.4 Finding Prime Numbers
    • • 19.5 Chernoff Bounds
    • • 19.6 Skip Lists
    • • 19.7 Exercises
  20. Chapter 20: B-Trees and External-Memory

    • • 20.1 External Memory
    • • 20.2 (2,4) Trees and B-Trees
    • • 20.3 External-Memory Sorting
    • • 20.4 Online Caching Algorithms
    • • 20.5 Exercises
  21. Chapter 21: Multi-Dimensional Searching

    • • 21.1 Range Trees
    • • 21.2 Priority Search Trees
    • • 21.3 Quadtrees and k-D Trees
    • • 21.4 Exercises
  22. Chapter 22: Computational Geometry

    • • 22.1 Operations on Geometric Objects
    • • 22.2 Convex Hulls
    • • 22.3 Segment Intersection
    • • 22.4 Finding a Closest Pair of Points
    • • 22.5 Exercises
  23. Chapter 23: String Algorithms

    • • 23.1 String Operations
    • • 23.2 The Boyer-Moore Algorithm
    • • 23.3 The Knuth-Morris-Pratt Algorithm
    • • 23.4 Hash-Based Lexicon Matching
    • • 23.5 Tries
    • • 23.6 Exercises
  24. Chapter 24: Cryptography

    • • 24.1 Greatest Common Divisors (GCD)
    • • 24.2 Modular Arithmetic
    • • 24.3 Cryptographic Operations
    • • 24.4 The RSA Cryptosystem
    • • 24.5 The El Gamal Cryptosystem
    • • 24.6 Exercises
  25. Chapter 25: The Fast Fourier Transform

    • • 25.1 Convolution
    • • 25.2 Primitive Roots of Unity
    • • 25.3 The Discrete Fourier Transform
    • • 25.4 The Fast Fourier Transform Algorithm
    • • 25.5 Exercises
  26. Chapter 26: Linear Programming

    • • 26.1 Formulating the Problem
    • • 26.2 The Simplex Method
    • • 26.3 Duality
    • • 26.4 Applications of Linear Programming
    • • 26.5 Exercises
  27. Chapter A: UsefulMathematicalFacts

Customer Reviews

0.0

0 reviews

5 stars
0
4 stars
0
3 stars
0
2 stars
0
1 stars
0

No reviews yet. Be the first to review this book!

Write a Review

Select rating

0/20 characters minimum

By submitting a review, you agree that it may be published after moderation.

Reviewed by GradeFocus Editorial Team

Related Books

Fluent Python

Fluent Python

Luciano Ramalho

Ethics for the Information Age

Ethics for the Information Age

Michael J. Quinn

Design of Machinery

Design of Machinery

Robert Norton

Artificial Intelligence: A Modern Approach

Artificial Intelligence: A Modern Approach

Stuart Russell

Data Structures and Algorithms in C++

Data Structures and Algorithms in C++

Michael T. Goodrich

Interaction Design

Interaction Design

Yvonne Rogers