内容简介
开发健壮的软件需要高效的算法,但是程序员们很少能够理解可用方案的适用范围。
《算法技术手册(影印版 第2版 英文版)》讲解了各种可用于解决各种编码问题的现有算法,可以帮助你作出正确的选择和实现——只需要一般程度的数学知识就足以使你理解并分析算法的性能。
较之理论而言,《算法技术手册(影印版 第2版 英文版)》专注于应用。书中本着严谨细致的原则,提供了用法说明以及由多种语言实现的真实代码。这一版的更新内容包括一些新算法的Python实现、维诺图的实现以及有关空间树结构的全新章节,比如R树和四叉树。
内页插图
目录
Preface to the Second Edition
1. Thinking in Algorithms
Understand the Problem
Naive Solution
Intelligent Approaches
Summary
References
2. The Mathematics of Algorithms
Size of a Problem Instance
Rate of Growth of Functions
Analysis in the Best, Average, and Worst Cases
Performance Families
Benchmark Operations
References
3. Algorithm Building Blocks
Algorithm Template Format
Pseudocode Template Format
Empirical Evaluation Format
Floating-Point Computation
Example Algorithm
Common Approaches
References
4. Sorting Algorithms
Transposition Sorting
Selection Sort
Heap Sort
Partition-Based Sorting
Sorting without Comparisons
Bucket Sort
Sorting with Extra Storage
String Benchmark Results
Analysis Techniques
References
5. Searching
Sequential Search
Binary Search
Hash-Based Search
Bloom Filter
Binary Search Tree
References
6. Graph Algorithms
Graphs
Depth-First Search
Breadth-First Search
Single-Source Shortest Path
Dijkstra's Algorithm for Dense Graphs
Comparing Single-Source Shortest-Path Options
All-Pairs Shortest Path
Minimum Spanning Tree Algorithms
Final Thoughts on Graphs
References
7. Path Finding in AI
Game Trees
Path-Finding Concepts
Minimax
NegMax
AlphaBeta
Search Trees
Depth-First Search
Breadth-First Search
A'Search
Comparing Search-Tree Algorithms
References
8. Network Flow Algorithms
Network Flow
Maximum Flow
Bipartite Matching
Reflections on Augmenting Paths
Minimum Cost Flow
Transshipment
Transportation
Assignment
Linear Programming
References
9. Computational Ge0metry
Classifying Problems
Convex Hull
Convex Hull Scan
Computing Line-Segment Intersections
LineSweep
Voronoi Diagram
References
10. Spatial Tree Structures
Nearest Neighbor Queries
Range Queries
Intersection Queries
Spatial Tree Structures
Nearest Neighbor Queries
Range Query
Quadtrees
R-Trees
References
11. Emerging Algorithm Categories
Variations on a Theme
Approximation Algorithms
Parallel Algorithms
Probabilistic Algorithms
References
12. Epilogue: Principles of Algorithms
Know Your Data
Decompose a Problem into Smaller Problems
Choose the Right Data Structure
Make the Space versus Time Trade-Off
Construct a Search
Reduce Your Problem to Another Problem
Writing Algorithms Is Hard-Testing Algorithms Is Harder
Accept Approximate Solutions When Possible
Add Parallelism to Increase Performance
A. Benchmarking
Index
算法技术手册(影印版 第2版 英文版) 下载 mobi epub pdf txt 电子书 格式