Mastering Algorithms with C
by Kyle Loudon
Algorithms of the Intelligent Web
by Haralambos Marmanis; Dmitry Babenko
Getting Started with Arduino, 1st Edition
by Massimo Banzi
Regular Expressions Cookbook
by Jan Goyvaerts; Steven Levithan
Programming Interactivity, 1st Edition
by Joshua Noble
Programming in C, Third Edition
by Stephen G. Kochan
Algorithms of the Intelligent Web
by Haralambos Marmanis; Dmitry Babenko
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.
Average Amazon.com® Rating: ![]()
![]()
![]()
![]()
Based on 6 Ratings
Its pedestrian title gives a very wrong first-impression! - 2008-12-13
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
In recent years I have found most other non-textbooks on algorithms to be uninteresting mainly for two reasons. First, there are books that are re-released periodically in a new "programming language du jour" without adding real value (some moving from Pascal to C/C++ to Python, Java or C#). The second group are books that are rather unimaginative collections of elementary information, often augmenting their bulk with lengthy pages of source code (touted as "ready-to-use", but never actually usable).
I almost didn't pay any attention to this book because its title struck me as rather mundane and pedestrian .... what an uncommonly false first-impression that turned out to be!
The is a well-written book and a great practical and usable one for working software developers at any skill or experience level. It starts with a condensed set of introductory material. It then covers the gamut of common and some not-so-common algorithms grouped by problems/tasks that do come up in a variety of real-world applications.
I particularly appreciate the concise and thoughtful - and concise - descriptions -- chock-full of notes on applicability and usability -- with absolutely no fluff! If nothing else, this book can be a good quick index or a chit sheet before culling through more standard textbooks (many of which, in fact, mentioned as further references in each section).
I believe the authors have identified a valid "hole" in the technical bookshelves - and plugged it quite well! Regarding the book's title, ... now I feel it's just appropriately simple, honest, and down-to-earth.
decent, but far too chatty - 2008-12-10
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
i understand that ORA wants to create reader-friendly experiences without too much mathematical syntax and density, but this book is needlessly chatty. for example, the first chapter which discusses the motivation for better algorithms could have been compressed into a single page. the next chapter on bounds and limits (bog-Oh notation etc) was so chatty that i just ended up skipping pages. in comparison, skiena's "algorithm design manual" uses a bit more math, but accomplishes explaining this topic in a much briefer fashion. having read both books, i would recommend skiena's book over this. sorry authors, i really wanted to like this book.
Delivers as advertised - 2009-03-23
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
The book does not aim to be an introduction to, nor the definitive encyclopedia on, the subject of algorithms.
It is intended, as advertised on the cover, as "A Desktop Quick Reference". In the Preface it states that the goal is to provide a useful tool for working programmers to find good solutions to the problems they solve.
As a self-taught programmer I am finding this book interesting to better understand the various ways that the same problem can be solved, and the pros and cons of each. While the book is mainly intended to help programmers review and select appropriate algorithms for a problem at hand, I am using it as a study guide and have enjoyed it as such thus far. While it doesn't exactly make for light reading, each algorithm is considered individually, which makes for a decent size chunk of information which can be considered independently.
Multiple languages (C, C++, Java, Ruby) are used throughout the book in demonstrating the algorithms, solutions are not provided in each language for each algorithm. However, if you are using this as a study guide, this can provide a good exercise to translate the solution into the language of your liking.
Interesting, but... - 2008-12-23
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
The preface states that the main purpose of this book is to provide usable implementations of some of the most useful algorithms. To illustrate the superiority of this approach as compared to similar books, the authors present the pseudo-code of the Ford-Fulkerson algorithm as given in Wikipedia and Cormen's textbook. Then they write that such listings are basically useless for a software engineer, who cannot produce working programs from them. He needs a book with real, working, verified implementations rather than pseudo-code and proofs of correctness. This is that book.
After reading this part of the preface in a local bookstore, I read the table of contents and picked at random the section on Linear Programming for a closer look at the contents. This 2-page section provides no code whatsoever. Not even pseudo-code. It uses a commercial mathematical software to solve a problem and advises the readers to do the same. Don't implement anything here because it's too complicated, just use a commercial package. I found this message a bit amusing, and somehow opposed to the stated purpose of the book.
Maybe I was unlucky, and other sections are different. You'll have to check that for yourselves. The book seems otherwise compact in its field, reasonably priced, rich in tables, examples, illustrations and other attention-grabbers. I'd say buy it, but take its promises with a grain of salt.
Incidentally, the Wikipedia article on Ford-Fulkerson provides a Python implementation in addition to the pseudo-code. It might have been added after this book was published. Nevertheless, this shows how quickly some parts of a 2008 book can become outdated.
Quickly locate algorithms that relate to the problems that you want to solve - 2009-10-05
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
This is my first Safari book that has the free online edition for 45 days.
I have a pretty good collection of books on algorithms. Many O'Reilly books are among the collection. Yet I am most impressed with" Algorithms in a Nutshell "a desktop quick reference. I won't go into a lot of detail as anybody who purchases this book was already know what they're looking for. I am impressed however that for such a small book this goes into a lot of deep concepts and gives you practical solutions.
The best way to see if this book is useful compared to others is to look at sorting algorithms that you know by heart such as median sort and quick sort. If this book tells you what you already know or even does a better job of explaining what you know this is the book for you. This is definitely the book for me.
Even with these examples, that take very little adjustment to put into the real world, you may want to supplement this book with "Sorting and Searching (The Art of Computer Programming, Volume 3)" by Donald E Knuth, Richard S Varga, and Michael A Harrison.
Even if you are not a programmer this book can help you to understand what programmers and or coders are accomplishing with their programs. For people taking any math discipline school this makes a fantastic supplement to understanding math from a different angle.
Sorting and Searching (The Art of Computer Programming, Volume 3)
Top Level Categories:
Computer Science
Programming
Sub-Categories:
Computer Science > Algorithms
Computer Science > Data Structures
Programming > C
Some information on this page was provided using data from Amazon.com®. View at Amazon >