| |
| |
| |
内容简介 本书利用了作者所开发的算法设计技术的最新分类,这种新的分类方法涵盖了众多经典算法,而采用过去的分类无法以一种一致的方式介绍这些算法。作为通用的问题解决工具,算法设计技术得以广泛的应用。尤其是将其应用到解决类似封面上那些流行的谜题时,会显示出其巨大的威力。本书包含了超过600个练习,包括一些利用万维多资源的练习。书中还包括了针对所有练习的提示,以帮助读者完全这些练习。 Anany Levitin是Villanova大学计算机科学系的教授。于2000年4月发表了“算法设计技术新途径”一文,获得业内高度认同。 本书利用了作者所开发的算法设计技术的最新分类,这种新的分类方法涵盖了众多经典算法,而采用过去的分类无法以一种一致的方式介绍这些算法。作为通用的问题解决工具,算法设计技术得以广泛的应用。尤其是将其应用到解决类似封面上那些流行的谜题时,会显示出其巨大的威力。本书包含了超过600个练习,包括一些利用万维多资源的练习。书中还包括了针对所有练习的提示,以帮助读者完全这些练习。
| |
|
顾客评论 |
|
目录
目 录 Preface 1 Introduction 1.1 Notion of Algorithm Exercises 1.1 1.2 Fundamentals of Algorithmic Problem Solving Understanding the Problem Ascertaining the Capabilities of a Computational Device Choosing between Exact and Approximate Problem Solving Deciding on Appropriate Data Structures Algorithm Design Techniques 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 2 Fundamentals of the Analysis of Algorithm Efficiency 2.1 Analysis Framework Measuring an Input''''s Size Units for Measuring Running Time Orders of Growth Worst-Case, Best-Case, and Average-Case Efficiencies Recapitulation of the Analysis Framework Exercises 2.1 2.2 Asymptotic Notations and Basic Efficiency Classes Informal Introduction O-notation -notation O-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: Fibonacci Numbers Explicit Formula for the nth Fibonacci Number Algorithms for Computing Fibonacci Numbers Exercises 2.5 2.6 Empirical Analysis of Algorithms Exercises 2.6 2.7 Algorithm Visualization Summary 3 Brute Force 3.1 Selection Sort and Bubble Sort Selection Sort Bubble Sort Exercises 3.1 3.2 Sequential Search and Brute-Force String Matching Sequential Search Brute-Force String Matching Exercises 3.2 3.3 Closest-Pair and Convex-Hull Problems by Brute Force Closest-Pair Problem Convex-Hull Problem Exercises 3.3 3.4 Exhaustive Search Traveling Salesman Problem Knapsack Problem Assignment Problem Exercises 3.4 Summary 4 Divide-and-Conquer 4.1 Mergesort Exercises 4.1 4.2 Quicksort Exercises 4.2 4.3 Binary Search Exercises 4.3 4.4 Binary Tree Traversals and Related Properties Exercises 4.4 4.5 Multiplication of Large Integers and Strassen''''s Matrix Multiplication Multiplication of Large Integers Strassen''''s Matrix Multiplication Exercises 4.5 4.6 Closest-Pair and Convex-Hull Problems by Divide-and-Conquer Closest-Pair Problem Convex-Hull Problem Exercises 4.6 Summary 5 Decrease-and-Conquer 5.1 Insertion Sort Exercises 5.1 5.2 Depth-First Search and Breadth-First Search Depth-First Search Breadth-First Search Exercises 5.2 5.3 Topological Sorting Exercises 5.3 5.4 Algorithms for Generating Combinatorial Objects Generating Permutations Generating Subsets Exercises 5.4 5.5 Decrease-by-a-Constant-Factor Algorithms Fake-Coin Problem Multiplication a la Russe Josephus Problem Exercises 5,5 5.6 Variable-Size-Decrease Algorithms Computing e Median and the Selection Problem Interpolation Search Searching and Insertion in a Binary Search Tree Exercises 5.6 Summary 6 Transform-and-Conquer 6.1 Presorting Exercises 6.1 6.2 Gaussian Elimination LU Decomposition and Other Applications Computing a Matrix Inverse Computing a Determinant Exercises 6.2 6.3 Balanced Search Trees AVL Trees 2-3 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 7 Space and lime Tradeoffs 7.1 Sorting by Counting Exercises 7.1 7.2 Input Enhancement in String Matching Horspool''''s Algorithm Boyer-Moore Algorithm Exercises 7,2 7,3 Hashing Open Hashing Separate Chaining Closed Hashing Open Addressing Exercises 7.3 7.4 B-Trees Exercises 7.4 Summary 8 Dynamic Programming 8.1 Computing a Binomial Coefficient Exercises 8.1 8.2 Warshall''''s and Floyd''''s Algorithms Warshall''''s Algorithm Floyd''''s Algorithm for the Ali-Pairs Shortest-Paths Problem Exercises 8.2 8.3 Optimal Binary Search Trees Exercises 8.3 8.4 The Knapsack Problem and Memory Functions Memory Functions Exercises 8.4 Summary 9 Greedy Technique 9.1 Prim''''s Algorithm Exercises 9.1 9.2 Kruskal''''s Algorithm Disjoint Subsets and Union-Find Algorithms Exercises 9.2 9.3 Dijkstra''''s Algorithm Exercises 9.3 9.4 Huffman Trees Exercises 9.4 Summary 10 Limitations of Algorithm Power 10.1 Lower-Bound Arguments Trivial Lower Bounds Information-Theoretic Arguments Adversary Arguments Problem Reduction Exercises 10.1 10.2 Decision Trees Decision Trees for Sorting Algorithms Decision Trees for Searching a Sorted Array Exercises 10.2 10.3 P, NP, and NP-complete Problems P and NP Problems NP-complete Problems Exercises 10.3 10.4 Challenges of Numerical Algorithms Exercises 10.4 Summary 44 11 Coping with the Limitations of Algorithm Power 11.1 Backtracking n-Queens Problem Hamiltonian Circuit Problem Subset-Sum Problem General Remarks Exercises 11,1 11.2 Branch-and-Bound Assignment Problem Knapsack Problem Traveling Salesman Problem Exercises 11,2 11.3 Approximation Algorithms for NP-hard Problems Approximation Algorithms for the Traveling Salesman Problem Approximation Algorithms for the Knapsack Problem Exercises 11.3 11.4 Algorithms for Solving Nonlinear Equations Bisection Method Method of False Position Newton''''s Method Exercises 11.4 Summary Epilogue 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 arid Recurrence Relations Methods for Solving Recurrence Relations Common Recurrence Types in Algorithm Analysis Bibliography Hints to Exercises Index
| |
算法设计与分析基础(影印版)-相关图书 ·西方经济学 ·Visual Basic 6.0程序设计教程 ·优质奶生产及奶牛乳房健康手册 ·世界五千年神秘总集.地球、宇宙、外星文明之谜 ·问答篇音响调音快易通 ·企业新事业开发 ·普通化学实验 ·剑桥少儿文明百科 ·软件工程过程 ·大学化学实验 ·日本语能力测试考前题库.语法3级 ·解析极限编程:拥抱变化(影印版) ·万用表测试电工电子元器件300例 ·汉语应用语言学 ·建筑画丛书.4 ·裘沛然选集 ·Delphi 7经典问题解析 ·Photoshop CS中文版范例入门与提高 ·计算机网络与Windows 2000实用教程 ·学校教育学
|
| |