|
Algorithms in a Nutshell (In a Nutshell (O'Reilly)) | 
enlarge | Authors: George Heineman, Gary Pollice, Stanley Selkow Publisher: O'Reilly Media, Inc. Category: Book
List Price: $49.99 Buy New: $27.98 You Save: $22.01 (44%)
New (29) Used (3) from $26.49
Avg. Customer Rating: 1 reviews Sales Rank: 16176
Format: Illustrated Media: Paperback Number Of Items: 1 Pages: 362 Shipping Weight (lbs): 1 Dimensions (in): 8.9 x 6 x 1
ISBN: 059651624X Dewey Decimal Number: 005 EAN: 9780596516246 ASIN: 059651624X
Publication Date: October 21, 2008 Availability: Usually ships in 1-2 business days Shipping: International shipping available Condition: Brand new item. Over 4 million customers served. Order now. Selling online since 1995. Few left in stock - order soon. Code: I20081201033114S
|
| Similar Items:
|
| Editorial Reviews:
Product Description Creating robust software requires the use of efficient algorithms, but programmers seldom think about them until a problem occurs. Algorithms in a Nutshell describes a large number of existing algorithms for solving a variety of problems, and helps you select and implement the right algorithm for your needs -- with just enough math to let you understand and analyze algorithm performance. With its focus on application, rather than theory, this book provides efficient code solutions in several programming languages that you can easily adapt to a specific project. Each major algorithm is presented in the style of a design pattern that includes information to help you understand why and when the algorithm is appropriate. With this book, you will: - Solve a particular coding problem or improve on the performance of an existing solution
- Quickly locate algorithms that relate to the problems you want to solve, and determine why a particular algorithm is the right one to use
- Get algorithmic solutions in C, C++, Java, and Ruby with implementation tips
- Learn the expected performance of an algorithm, and the conditions it needs to perform at its best
- Discover the impact that similar design decisions have on different algorithms
- Learn advanced data structures to improve the efficiency of algorithms
With Algorithms in a Nutshell, you'll learn how to improve the performance of key algorithms essential for the success of your software applications.
|
| Customer Reviews:
A great supplemental book on Algorithms October 25, 2008 25 out of 27 found this review helpful
This new book on algorithms from O'Reilly is a breath of fresh air. Most books on the subject fall into two categories: very dense tomes full of math and heavy on sometime unintelligible pseudocode, or books that basically just give you recipes without much understanding. The second category is the "give a man a fish" type, the first type is the "teach a man to fish, but use ALGOL to do it". Even the author, in his preface, recognizes that this is not the one book on algorithms you'd need if you were on a desert island. On a desert island you have plenty of time and you can carefully digest Cormen's Introduction to Algorithms. However, you're not on a desert island, are you? Thus this book is the link between Cormen's careful theoretical approach that takes time, and books that amount to code dumps.
The first six chapters amount to supplements on the basics of Theory of Algorithm courses: mathematics foundations, sorting, searching, and graphing algorithms. The mathematics here is somewhat lacking, but then the author is assuming you have other books on the subject - this is a book for ramping up quickly. The rest of the book is rather specialized, considering specific families of algorithms that are topical in these times such as path finding in AI, computational geometry, and network flow. They fill in the blanks missing in the standard textbooks. Plus there is plenty of code - real code, not pseudocode - that you can put to work quickly. The product description lacks the table of contents, so I list that next:
Part I: I Chapter 1. Algorithms Matter Section 1.1. Understand the Problem Section 1.2. Experiment if Necessary Section 1.3. Side Story Section 1.4. The Moral of the Story Section 1.5. References Chapter 2. The Mathematics of Algorithms Section 2.1. Size of a Problem Instance Section 2.2. Rate of Growth of Functions Section 2.3. Analysis in the Best, Average, and Worst Cases Section 2.4. Performance Families Section 2.5. Mix of Operations Section 2.6. Benchmark Operations Section 2.7. One Final Point Section 2.8. References Chapter 3. Patterns and Domains Section 3.1. Patterns: A Communication Language Section 3.2. Algorithm Pattern Format Section 3.3. Pseudocode Pattern Format Section 3.4. Design Format Section 3.5. Empirical Evaluation Format Section 3.6. Domains and Algorithms Section 3.7. Floating-Point Computations Section 3.8. Manual Memory Allocation Section 3.9. Choosing a Programming Language Section 3.10. References Part II: II Chapter 4. Sorting Algorithms Section 4.1. Overview Section 4.2. Insertion Sort Section 4.3. Median Sort Section 4.4. Quicksort Section 4.5. Selection Sort Section 4.6. Heap Sort Section 4.7. Counting Sort Section 4.8. Bucket Sort Section 4.9. Criteria for Choosing a Sorting Algorithm Section 4.10. References Chapter 5. Searching Section 5.1. Overview Section 5.2. Sequential Search Section 5.3. Binary Search Section 5.4. Hash-based Search Section 5.5. Binary Tree Search Chapter 6. Graph Algorithms Section 6.1. Overview Section 6.2. Depth-First Search Section 6.3. Breadth-First Search Section 6.4. Single-Source Shortest Path Section 6.5. All Pairs Shortest Path Section 6.6. Minimum Spanning Tree Algorithms Section 6.7. References Chapter 7. Path Finding in AI Section 7.1. Overview Section 7.2. Depth-First Search Section 7.3. Breadth-First Search Section 7.4. A*Search Section 7.5. Comparison Section 7.6. Minimax Section 7.7. NegMax Section 7.8. AlphaBeta Section 7.9. References Chapter 8. Network Flow Algorithms Section 8.1. Overview Section 8.2. Maximum Flow Section 8.3. Bipartite Matching Section 8.4. Reflections on Augmenting Paths Section 8.5. Minimum Cost Flow Section 8.6. Transshipment Section 8.7. Transportation Section 8.8. Assignment Section 8.9. Linear Programming Section 8.10. References Chapter 9. Computational Geometry Section 9.1. Overview Section 9.2. Convex Hull Scan Section 9.3. LineSweep Section 9.4. Nearest Neighbor Queries Section 9.5. Range Queries Section 9.6. References Part III: III Chapter 10. When All Else Fails Section 10.1. Variations on a Theme Section 10.2. Approximation Algorithms Section 10.3. Offline Algorithms Section 10.4. Parallel Algorithms Section 10.5. Randomized Algorithms Section 10.6. Algorithms That Can Be Wrong, but with Diminishing Probability Section 10.7. References Chapter 11. Epilogue Section 11.1. Overview Section 11.2. Principle: Know Your Data Section 11.3. Principle: Decompose the Problem into Smaller Problems Section 11.4. Principle: Choose the Right Data Structure Section 11.5. Principle: Add Storage to Increase Performance Section 11.6. Principle: If No Solution Is Evident, Construct a Search Section 11.7. Principle: If No Solution Is Evident, Reduce Your Problem to Another Problem That Has a Solution Section 11.8. Principle: Writing Algorithms Is Hard--Testing Algorithms Is Harder Part IV: IV Appendix A. Benchmarking Section A.1. Statistical Foundation Section A.2. Hardware Section A.3. Reporting Section A.4. Precision
|
|
| Powered by Associate-O-Matic
| |