The Stolin-Group 
Computer accessories, software & training supplies
Algorithm Design

Return to Main Menu

Back One Page

Place Order by Mail

Contact Us

Search

Book Catagories

Professional Computing

Certification
Computer
Science
Database & ERP
Internet
Management
Information Systems
Networking
Operating Systems
PC Hardware
Programming
Security
Telecommunications
Video & Audio
Web Developement

Computer Science
Academic Disciplines

Intro to Computer Science
Introduction to Programming
Data Structures
Algorithms/Advanced Data Structures
Artificial Intelligence
Compilers
Computer-Organization/Architecture
Computer Graphics
Human-Computer Interaction
Database
Internet and World Wide Web
Electronic Commerce
Mathematics for Computer Scientists
Operating Systems
Networking
Programming Languages
Software Engineering
Theory of Computation
Signals and Systems
Miscellaneous

Resource Center

Bioinformatics
C/C++
Databases
Digital Media
Enterprise Development
Game Development
Java
Linux/Unix
Macintosh/OS X
.NET
Open Source
Oracle
Perl
Python
Scripting
Security
SysAdmin/Networking
Web
Web Services
Windows
Wireless
XML

See More Value Packages

Jon Kleinberg, Cornell University
Eva Tardos, Cornell University

ISBN: 0-321-29535-8
Publisher: Addison-Wesley
Copyright: 2006
Format: Cloth; 600 pp
Status: Not Yet Published; Estimated Availability: 03/18/2005

Our Price: $79.99

About the Book 


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.

Features


  • 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 with several coming  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.
Related Books

Algorithms/Advanced Data Structures - Programming Courses (Algorithms/Advanced Data Structures)

 Table of Contents


1 Introduction: Some Representative Problems
  1.1 A First Problem: Stable Matching 
  1.2 Five Representative Problems 
  1.3 Solved Exercises
  1.4 Excercises
  1.5 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
  2.6 Solved Exercises 
  2.5 Exercises 
  2.7 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 
  3.7 Solved Exercises 
  3.8 Exercises 
  3.9 Notes and Further Reading

4 Greedy Algorithms
  4.1 Interval Scheduling: The Greedy Algorithm Stays Ahead 
  4.2 Scheduling to Minimize Lateness: An Exchange Argument
  4.3 Optimal Caching: A More Complex Exchange Argument
  4.4 Shortest Paths in a Graph 
  4.5 The Minimum Spanning Tree Problem 
  4.6 Implementing Kruskal's Algorithm: The Union-Find Data Structure
  4.7 Clustering 
  4.8 Huffman Codes and the Problem of Data Compression
  4.9 (*) Minimum-Cost Arborescences: A Multi-Phase Greedy Algorithm 
  4.10 Solved Exercises
  4.11 Excercises
  4.12 Notes and Further Reading

5 Divide and Conquer
  5.1 A First Recurrence: The Mergesort Algorithm
  5.2 Further Recurrence Relations
  5.3 Counting Inversions
  5.4 Finding the Closest Pair of Points
  5.5 Integer Multiplication
  5.6 Convolutions and The Fast Fourier Transform
  5.7 Solved Exercises
  5.8 Exercises
  5.9 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 
  6.11 Solved Exercises
  6.12 Exercises
  6.13 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 
  7.11 Project Selection 
  7.12 Baseball Elimination 
  7.13 (*) A Further Direction: Adding Costs to the Matching Problem 
  7.14 Solved Exercises
  7.15 Exercises
  7.16 Notes and Further Reading

8 NP and Computational Intractability
  8.1 Polynomial-time Reductions 
  8.2 Efficient Certification and the Definition of NP 
  8.3 NP-Complete Problems 
  8.4 Sequencing Problems 
  8.5 Partitioning Problems 
  8.6 Graph Coloring
  8.7 Numerical Problems 
  8.8 co-NP and the Asymmetry of NP
  8.9 A Partial Taxonomy of Hard Problems 
  8.10 Solved Exercises
  8.11 Exercises
  8.12 Notes and Further Reading

9 PSPACE: A Class of Problems Beyond NP
  9.1 PSPACE 
  9.2 Some Hard Problems in PSPACE 
  9.3 Solving Quantified Problems and Games in Polynomial Space
  9.4 Solving the Planning Problem in Polynomial Space
  9.5 Proving Problems PSPACE-Complete 
  9.6 Solved Exercises
  9.7 Exercises
  9.8 For Further Reading

10 Extending the Limits of Tractability 
  10.1 Finding Small Vertex Covers 
  10.2 Solving NP-hard Problem on Trees 
  10.3 Coloring a Set of Circular Arcs
  10.4 (*) Tree Decompositions of Graphs 
  10.5 (*) Constructing a Tree Decomposition 
  10.6 Solved Exercises
  10.7 Exercises
  10.8 Notes and Further Reading

11 Approximation Algorithms
  11.1 Greedy Algorithms and Bounds on the Optimum: A Load Balancing Problem
  11.2 The Center Selection Problem 
  11.3 Set Cover: A General Greedy Heuristic 
  11.4 The Pricing Method: Vertex Cover 
  11.5 Maximization via the Pricing method: The Disjoint Paths Problem 
  11.6 Linear Programming and Rounding: An Application to Vertex Cover 
  11.7 (*) Load Balancing Revisited: A More Advanced LP Application 
  11.8 Arbitrarily Good Approximations: the Knapsack Problem 
  11.9 Solved Exercises
  11.10 Exercises
  11.11 Notes and Further Reading

12 Local Search
  12.1 The Landscape of an Optimization Problem 
  12.2 The Metropolis Algorithm and Simulated Annealing 
  12.3 An Application of Local Search to Hopfield Neural Networks
  12.4 Maximum Cut Approximation via Local Search 
  12.5 Choosing a Neighbor Relation 
  12.6 (*) Classification via Local Search 
  12.7 Best-Response Dynamics and Nash Equilibria
  12.8 Solved Exercises
  12.9 Exercises
  12.10 Notes and Further Reading

13 Randomized Algorithms
  13.1 A First Application: Contention Resolution 
  13.2 Finding the Global Minimum Cut 
  13.3 Random Variables and their Expectations 
  13.4 A Randomized Approximation Algorithm for MAX-3-SAT 
  13.5 Randomized Divide-and-Conquer: Median-Finding and Quicksort
  13.6 Hashing: A Randomized Implementation of Dictionaries
  13.7 Finding the Closest Pair of Points: A Randomized Approach
  13.8 Randomized Caching
  13.9 Chernoff Bounds
  13.10 Load Balancing
  13.11 (*) Packet Routing 
  13.12 Background: Some Basic Probability Definitions
  13.13 Solved Exercises
  13.14 Exercises
  13.15 Notes and Further Reading

Epilogue: Algorithms that Run Forever




Have a special request? Send inquires to Customer Service


Business Software | Operating Systems & Servers | Development Tools | Internet Technologies
Home Productivity | Reference Software | Microsoft Press
Home Page

Copyright 2002-2004 Stolin-Group (all rights reserved).
Product images provided by their respective owners (example) Microsoft®, McGraw Hill®, Osborne Media®, Sams Publishing®
Please respect these trademarks when using their intelectual properties!