内容简介

  开发健壮的软件需要高效的算法,但是程序员们很少能够理解可用方案的适用范围。
  《算法技术手册(影印版第2版英文版)》讲解了各种可用于解决各种编码问题的现有算法,可以帮助你作出正确的选择和实现——只需要一般程度的数学知识就足以使你理解并分析算法的性能。
  较之理论而言,《算法技术手册(影印版第2版英文版)》专注于应用。书中本着严谨细致的原则,提供了用法说明以及由多种语言实现的真实代码。这一版的更新内容包括一些新算法的Python实现、维诺图的实现以及有关空间树结构的全新章节,比如R树和四叉树。

目录

PrefacetotheSecondEdition

1.ThinkinginAlgorithms
UnderstandtheProblem
NaiveSolution
IntelligentApproaches
Summary
References

2.TheMathematicsofAlgorithms
SizeofaProblemInstance
RateofGrowthofFunctions
AnalysisintheBest,Average,andWorstCases
PerformanceFamilies
BenchmarkOperations
References

3.AlgorithmBuildingBlocks
AlgorithmTemplateFormat
PseudocodeTemplateFormat
EmpiricalEvaluationFormat
Floating-PointComputation
ExampleAlgorithm
CommonApproaches
References

4.SortingAlgorithms
TranspositionSorting
SelectionSort
HeapSort
Partition-BasedSorting
SortingwithoutComparisons
BucketSort
SortingwithExtraStorage
StringBenchmarkResults
AnalysisTechniques
References

5.Searching
SequentialSearch
BinarySearch
Hash-BasedSearch
BloomFilter
BinarySearchTree
References

6.GraphAlgorithms
Graphs
Depth-FirstSearch
Breadth-FirstSearch
Single-SourceShortestPath
Dijkstra'sAlgorithmforDenseGraphs
ComparingSingle-SourceShortest-PathOptions
All-PairsShortestPath
MinimumSpanningTreeAlgorithms
FinalThoughtsonGraphs
References

7.PathFindinginAI
GameTrees
Path-FindingConcepts
Minimax
NegMax
AlphaBeta
SearchTrees
Depth-FirstSearch
Breadth-FirstSearch
A'Search
ComparingSearch-TreeAlgorithms
References

8.NetworkFlowAlgorithms
NetworkFlow
MaximumFlow
BipartiteMatching
ReflectionsonAugmentingPaths
MinimumCostFlow
Transshipment
Transportation
Assignment
LinearProgramming
References

9.ComputationalGe0metry
ClassifyingProblems
ConvexHull
ConvexHullScan
ComputingLine-SegmentIntersections
LineSweep
VoronoiDiagram
References

10.SpatialTreeStructures
NearestNeighborQueries
RangeQueries
IntersectionQueries
SpatialTreeStructures
NearestNeighborQueries
RangeQuery
Quadtrees
R-Trees
References

11.EmergingAlgorithmCategories
VariationsonaTheme
ApproximationAlgorithms
ParallelAlgorithms
ProbabilisticAlgorithms
References

12.Epilogue:PrinciplesofAlgorithms
KnowYourData
DecomposeaProblemintoSmallerProblems
ChoosetheRightDataStructure
MaketheSpaceversusTimeTrade-Off
ConstructaSearch
ReduceYourProblemtoAnotherProblem
WritingAlgorithmsIsHard-TestingAlgorithmsIsHarder
AcceptApproximateSolutionsWhenPossible
AddParallelismtoIncreasePerformance
A.Benchmarking

Index

其他推荐