本书是经典原版书库中的一本,为全英文版,是一部经典著作,着重介绍了计算机算法设计领域的统一原则和基本概念。书中深入分析了一些计算机模型上的算法,介绍了一些有效算法常用的数据结构和编程技术,为读者提供了有关递归方法、分治方法和动态规划方面的详细实例和实际应用,并致力于更有效算法的设计和开发。同时,对NP完全等问题能否有效求解进行了分析,并探索了应用启发式算法解决问题的途径。另外,本书还提供了大量富有指导意义的习题。
本书可以作为高等院校计算机专业本科生和研究生算法设计课程的教材,也可以作为计算机算法理论中更高级课程的教材。
1 Models of Computation
1.1 Algorithms and their complexity
1.2 Random access machines
1.3 Computational complexity of RAM programs
1.4 A stored program model
1.5 Abstractions of the RAM
1.6 A primitive model of computation: the Turing machine
1.7 Relationship between the Turing machine and RAM models
1.8 Pidgin ALGOL-a high-level language
2 Design of Efficient Algorithms
2.1 Data structures: lists, queues, and stacks
2.2 Set representations
2.3 Graphs
2.4 Trees
2.5 Recursion
2.6 Divide-and-conquer
2.7 Balancing
2.8 Dynamic programming
2.9 Epilogue
3 Sorting and Order Statistics
3.1 The sorting problem
3.2 Radix sorting
3.3 Sorting by comparisons
3.4 Heapsort-an O(n log n) comparison sort
3.5 Quicksort-an O(n log n) expected time sort
3.6 Order statistics
3.7 Expected time for order statistics
4 Data Structures for Set Manipulation Problems
4.1 Fundamental operations on sets
4.2 Hashing
4.3 Binary search
4.4 Binary search trees
4.5 Optimal binary search trees
4.6 A simple disjoint-set union algorithm
……