Introduction to the Design and Analysis... | WHSmith Books
Introduction to the Design and Analysis of Algorithms: International Edition (3rd edition)

Introduction to the Design and Analysis of Algorithms: International Edition (3rd edition)

By: Anany Levitin (author)Paperback

Up to 2 WeeksUsually despatched within 2 weeks


Based on a new classification of algorithm design techniques and a clear delineation of analysis methods, Introduction to the Design and Analysis of Algorithms presents the subject in a coherent and innovative manner. Written in a student-friendly style, the book emphasizes the understanding of ideas over excessively formal treatment while thoroughly covering the material required in an introductory algorithms course. Popular puzzles are used to motivate students' interest and strengthen their skills in algorithmic problem solving. Other learning-enhancement features include chapter summaries, hints to the exercises, and a detailed solution manual.


New to the Third Edition xviiPreface xix1Introduction 11.1 What Is an Algorithm? 3Exercises 1.1 71.2 Fundamentals of Algorithmic Problem Solving 9Understanding the Problem 9Ascertaining the Capabilities of the Computational Device 9Choosing between Exact and Approximate Problem Solving 11Algorithm Design Techniques 11Designing an Algorithm and Data Structures 12Methods of Specifying an Algorithm 12Proving an Algorithm? s Correctness 13Analyzing an Algorithm 14Coding an Algorithm 15Exercises 1.2 171.3 Important Problem Types 18Sorting 19Searching 20String Processing 20Graph Problems 21Combinatorial Problems 21Geometric Problems 22Numerical Problems 22Exercises 1.3 231.4 Fundamental Data Structures 25Linear Data Structures 25Graphs 28Trees 31Sets and Dictionaries 35Exercises 1.4 37Summary 382 Fundamentals of the Analysis of AlgorithmEfficiency 412.1 The Analysis Framework 42Measuring an Input? s Size 43Units for Measuring Running Time 44Orders of Growth 45Worst-Case, Best-Case, and Average-Case Efficiencies 47Recapitulation of the Analysis Framework 50Exercises 2.1 502.2 Asymptotic Notations and Basic Efficiency Classes 52Informal Introduction 52O-notation 53-notation 54-notation 55Useful Property Involving the Asymptotic Notations 55Using Limits for Comparing Orders of Growth 56Basic Efficiency Classes 58Exercises 2.2 582.3 Mathematical Analysis of Nonrecursive Algorithms 61Exercises 2.3 672.4 Mathematical Analysis of Recursive Algorithms 70Exercises 2.4 762.5 Example: Computing the nth Fibonacci Number 80Exercises 2.5 832.6 Empirical Analysis of Algorithms 84Exercises 2.6 892.7 Algorithm Visualization 91Summary 943 Brute Force and Exhaustive Search 973.1 Selection Sort and Bubble Sort 98Selection Sort 98Bubble Sort 100Exercises 3.1 1023.2 Sequential Search and Brute-Force String Matching 104Sequential Search 104Brute-Force String Matching 105Exercises 3.2 1063.3 Closest-Pair and Convex-Hull Problems by Brute Force 108Closest-Pair Problem 108Convex-Hull Problem 109Exercises 3.3 1133.4 Exhaustive Search 115Traveling Salesman Problem 116Knapsack Problem 116Assignment Problem 119Exercises 3.4 1203.5 Depth-First Search and Breadth-First Search 122Depth-First Search 122Breadth-First Search 125Exercises 3.5 128Summary 1304 Decrease-and-Conquer 1314.1 Insertion Sort 134Exercises 4.1 1364.2 Topological Sorting 138Exercises 4.2 1424.3 Algorithms for Generating Combinatorial Objects 144Generating Permutations 144Generating Subsets 146Exercises 4.3 1484.4 Decrease-by-a-Constant-Factor Algorithms 150Binary Search 150Fake-Coin Problem 152Russian Peasant Multiplication 153Josephus Problem 154Exercises 4.4 1564.5 Variable-Size-Decrease Algorithms 157Computing a Median and the Selection Problem 158Interpolation Search 161Searching and Insertion in a Binary Search Tree 163The Game of Nim 164Exercises 4.5 166Summary 1675 Divide-and-Conquer 1695.1 Mergesort 172Exercises 5.1 1745.2 Quicksort 176Exercises 5.2 1815.3 Binary Tree Traversals and Related Properties 182Exercises 5.3 1855.4 Multiplication of Large Integers andStrassen? s Matrix Multiplication 186Multiplication of Large Integers 187Strassen? s Matrix Multiplication 189Exercises 5.4 1915.5 The Closest-Pair and Convex-Hull Problemsby Divide-and-Conquer 192The Closest-Pair Problem 192Convex-Hull Problem 195Exercises 5.5 197Summary 1986 Transform-and-Conquer 2016.1 Presorting 202Exercises 6.1 2056.2 Gaussian Elimination 208LU Decomposition 212Computing a Matrix Inverse 214Computing a Determinant 215Exercises 6.2 2166.3 Balanced Search Trees 218AVL Trees 2182-3 Trees 223Exercises 6.3 2256.4 Heaps and Heapsort 226Notion of the Heap 227Heapsort 231Exercises 6.4 2336.5 Horner? s Rule and Binary Exponentiation 234Horner? s Rule 234Binary Exponentiation 236Exercises 6.5 2396.6 Problem Reduction 240Computing the Least Common Multiple 241Counting Paths in a Graph 242Reduction of Optimization Problems 243Linear Programming 244Reduction to Graph Problems 246Exercises 6.6 248Summary 2507 Space and Time Trade-Offs 2537.1 Sorting by Counting 254Exercises 7.1 2577.2 Input Enhancement in String Matching 258Horspool? s Algorithm 259Boyer-Moore Algorithm 263Exercises 7.2 2677.3 Hashing 269Open Hashing (Separate Chaining) 270Closed Hashing (Open Addressing) 272Exercises 7.3 2747.4 B-Trees 276Exercises 7.4 279Summary 2808 Dynamic Programming 2838.1 Three Basic Examples 285Exercises 8.1 2908.2 The Knapsack Problem and Memory Functions 292Memory Functions 294Exercises 8.2 2968.3 Optimal Binary Search Trees 297Exercises 8.3 3038.4 Warshall? s and Floyd? s Algorithms 304Warshall? s Algorithm 304Floyd? s Algorithm for the All-Pairs Shortest-Paths Problem 308Exercises 8.4 311Summary 3129 Greedy Technique 3159.1 Prim? s Algorithm 318Exercises 9.1 3229.2 Kruskal? s Algorithm 325Disjoint Subsets and Union-Find Algorithms 327Exercises 9.2 3319.3 Dijkstra? s Algorithm 333Exercises 9.3 3379.4 Huffman Trees and Codes 338Exercises 9.4 342Summary 34410 Iterative Improvement 34510.1 The Simplex Method 346Geometric Interpretation of Linear Programming 347An Outline of the Simplex Method 351Further Notes on the Simplex Method 357Exercises 10.1 35910.2 The Maximum-Flow Problem 361Exercises 10.2 37110.3 Maximum Matching in Bipartite Graphs 372Exercises 10.3 37810.4 The Stable Marriage Problem 380Exercises 10.4 383Summary 38411 Limitations of Algorithm Power 38711.1 Lower-Bound Arguments 388Trivial Lower Bounds 389Information-Theoretic Arguments 390Adversary Arguments 390Problem Reduction 391Exercises 11.1 39311.2 Decision Trees 394Decision Trees for Sorting 395Decision Trees for Searching a Sorted Array 397Exercises 11.2 39911.3 P, NP, and NP-Complete Problems 401P and NP Problems 402NP-Complete Problems 406Exercises 11.3 40911.4 Challenges of Numerical Algorithms 412Exercises 11.4 419Summary 42012 Coping with the Limitations of Algorithm Power 42312.1 Backtracking 424n-Queens Problem 425Hamiltonian Circuit Problem 426Subset-Sum Problem 427General Remarks 428Exercises 12.1 43012.2 Branch-and-Bound 432Assignment Problem 433Knapsack Problem 436Traveling Salesman Problem 438Exercises 12.2 44012.3 Approximation Algorithms for NP-Hard Problems 441Approximation Algorithms for the Traveling Salesman Problem 443Approximation Algorithms for the Knapsack Problem 453Exercises 12.3 45712.4 Algorithms for Solving Nonlinear Equations 459Bisection Method 460Method of False Position 464Newton? s Method 464Exercises 12.4 467Summary 468Epilogue 471APPENDIX AUseful Formulas for the Analysis of Algorithms 475Properties of Logarithms 475Combinatorics 475Important Summation Formulas 476Sum Manipulation Rules 476Approximation of a Sum by a Definite Integral 477Floor and Ceiling Formulas 477Miscellaneous 477APPENDIX BShort Tutorial on Recurrence Relations 479Sequences anCommon Recurrence Types in Algorithm Analysis 485References 493Hints to Exercises 503Index 547

Product Details

  • ISBN13: 9780273764113
  • Format: Paperback
  • Number Of Pages: 592
  • ID: 9780273764113
  • weight: 1056
  • ISBN10: 027376411X
  • edition: 3rd edition

Delivery Information

  • Saver Delivery: Yes
  • 1st Class Delivery: Yes
  • Courier Delivery: Yes
  • Store Delivery: Yes

Prices are for internet purchases only. Prices and availability in WHSmith Stores may vary significantly