內容簡介
開發健壯的軟件需要高效的算法,但是程序員們很少能夠理解可用方案的適用範圍。
《算法技術手冊(影印版 第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 電子書 格式