The Algorithm Design ManualSpringer Science & Business Media, 05 ապր, 2009 թ. - 730 էջ Most professional programmers that I’ve encountered are not well prepared to tacklealgorithmdesignproblems.Thisisapity,becausethetechniquesofalgorithm design form one of the core practical technologies of computer science. Designing correct, e?cient, and implementable algorithms for real-world problems requires access to two distinct bodies of knowledge: • Techniques – Good algorithm designers understand several fundamental - gorithm design techniques, including data structures, dynamic programming, depth-?rst search, backtracking, and heuristics. Perhaps the single most - portantdesigntechniqueismodeling,theartofabstractingamessyreal-world application into a clean problem suitable for algorithmic attack. • Resources – Good algorithm designers stand on the shoulders of giants. Ratherthanlaboringfromscratchtoproduceanewalgorithmforeverytask, they can ?gure out what is known about a particular problem. Rather than re-implementing popular algorithms from scratch, they seek existing imp- mentations to serve as a starting point. They are familiar with many classic algorithmic problems, which provide su?cient source material to model most any application. This book is intended as a manual on algorithm design, providing access to combinatorial algorithm technology for both students and computer professionals. |
Այլ խմբագրություններ - View all
Common terms and phrases
adjacency lists algorithm design applications approximation array backtracking clique coloring combinatorial Computational Geometry connected components constraints construct contains convex hull cost cycle data structures defined deletion depth-first search directed graph discussed in Section distance dynamic programming edge efficient algorithm elements Figure function geometric given graph algorithms graph G Hamiltonian hash heuristic implementation independent set Input description insertion integer integer partitions intersection isomorphism kd-trees linear longest matrix maximum minimize minimum spanning tree multiplication node NP-complete operations optimal OUTPUT pair partition permutations planar planar graph pointer polygon possible priority queue Problem description Proc Programming Challenges provides query quicksort random recursive reduction Related Problems sequence set cover shortest path simulated annealing Skiena smallest solution solve sorting algorithm string matching subgraph subset substring suffix tree topological sorting tour traversal triangle vertex cover vertices Voronoi diagrams weight worst-case