Book description
Creating robust software requires the use of efficient algorithms, but programmers seldom think about them until a problem occurs. This updated edition of 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
Publisher resources
Table of contents
- Preface to the Second Edition
- 1. Thinking in Algorithms
- 2. The Mathematics of Algorithms
- 3. Algorithm Building Blocks
- 4. Sorting Algorithms
- 5. Searching
- 6. Graph Algorithms
- 7. Path Finding in AI
- 8. Network Flow Algorithms
- 9. Computational Geometry
- 10. Spatial Tree Structures
- 11. Emerging Algorithm Categories
-
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
Product information
- Title: Algorithms in a Nutshell, 2nd Edition
- Author(s):
- Release date: December 2015
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9781491948927
You might also like
book
Graph Algorithms
Learn how graph algorithms can help you leverage relationships within your data to develop intelligent solutions …
book
Designing Data-Intensive Applications
Data is at the center of many challenges in system design today. Difficult issues need to …
book
Designing Distributed Systems
Without established design patterns to guide them, developers have had to build distributed systems from scratch, …
book
Fundamentals of Software Architecture
Salary surveys worldwide regularly place software architect in the top 10 best jobs, yet no real …