"A sort of atlas for what is possible using the integer half of your computer machine" | 2009-06-14 |
| - Reviewed By User: A1KFCZF2V2FS62 |
I'm a numerics guy. This means I am generally interested in solving problems with solutions which are well modeled by real numbers. Algorithms involving real numbers mostly run on the floating point side of your CPU. I got interested in this sort of thing because my main intellectual interests involve solving problems with involve the "real world." Puns aside; I like thinking about problems in dynamics, signal processing, modeling quantum mechanical systems: the things most people think of as encompassing "reality." Computers can't really model real numbers, but then, a lot of the time, real numbers are just a convenience for modeling things which work long a logarithmic length scale. "Real" stuff works this way. Scientists who concern themselves with this sort of problem will often learn all about clever tricks for using the floating point part of their processor as a result.
Eventually, if you get deep enough, you need to take full advantage of the integer side of the machine. The integer side of the machine has been the primary concern of computer scientists over the years, since that's how computers really work inside. Guys like me who learned all about the floating point end of things are often in the dark as to what is possible in Integer-land. This book is an outstanding guidebook to what is possible using integer related tricks. In this book, you'll learn all about "big O," graph traversals, trees, hash functions, search and P versus NP. A lot of guys like me have only a vague grasp that such things exist. This is a great book for educating yourself as to what is possible, and the general principles of how all this stuff works. What is more, the text is interesting, profusely illustrated with useful visual aids and is written in a wonderfully clear style. I wish such a thing existed for the floating point side of things (Numerical Recipes don't count; it's a much different book), but it was certainly very helpful to me that this exists. A must read if you've never taken an "algorithms and data structures" course, but use a computer at a serious level.
|
| |
"Well organized details" | 2009-06-06 |
| - Reviewed By User: A12EC89GISQFHG |
I needed to understand some best fit algorithms and alternatives without reading a whole numbing book. The organization of this book and the right level of detail help me get there.
|
| |
"Basic Algorithms and Data Structures" | 2009-02-15 |
| - Reviewed By User: A2O3X64F1EM402 |
The only think that I do not fully like of that book is the second part (The Hitchhiker's Guide to Algorithms). Why? Because I think that the book can be stream-lined just removing those 300 pages. Still I think that this kind of long appendix is interesting but Skiena should consider to leave that information in the already exiting "Stony Brook Algorithm Repository" (see http://www.cs.sunysb.edu/~algorith/).
5 stars... but could be 6 without all that clutter. |
| |
"Absolutely great algoriths textbook and reference." | 2008-10-25 |
| - Reviewed By kelsey312 |
| This is a unique book, about 2/3 of the way from textbook to reference manual. It is very well written. It assumes competentcy in the analysis of algorithms and reviews a wide range algorithmic techniques. Many extensions are outlined as exercises. An unusual and interesting feature is the many "war stories" about the use of algorithms in the real world. Skiena does not shy away from stating what he thinks are good approaches - and otherwise. I am the proud owner of a couple dozen algorithms books, and this is probably the most useful of the bunch. |
| |
"Great book" | 2008-04-14 |
| - Reviewed By yvan421 |
This book is splitted in two parts. The first part mostly contains general advices about algorithms, performances, and such. The second part is more like a huge catalogue of "classical" problems and algorithms related to those, with advices about how to work them. It does not contain algorithms or pseudo-code (or very little), but is more about how to address the problem (and also contains pointers to an implementation). |
| |
"Accessible Guide to Algorithm Design" | 2006-02-21 |
| - Reviewed By calvinnme |
For those computer science students and programmers who are put off by the style of "Introduction to Algorithms" by Cormen et al., this book is a good alternative. Rather than just being a catalog of algorithms with code and little explanation, this book covers a much needed middle ground and contains a good deal about the analysis and design of algorithms in general along with discussions of common algorithms themselves in an accessible style. In fact, the author makes a point of mentioning in his preface that you will not find a single theorem in this book, and that the purpose of his book is to get working programmers up to speed quickly on both the generalities and specifics of algorithm design. The first part of the book is on techniques, and covers the basics of modeling algorithms along with "Big Oh" notation, data structures and sorting, dynamic programming, graph algorithms, combinational search, and the concept of intractibility. What makes this section of the book particularly interesting are the author's "war stories" that talk about real world applications of the ideas discussed in each chapter. Part two of the book, "Resources", is an extensive catalog of algorithmic problems organized by type. For each problem mentioned, the book includes a problem description and discussion, possible implementations, and other algorithmic problems that are related to this one. In the implementation section for each algorithm, the author demonstrates the kinds of questions that the reader should ask when designing his or her own implementation. The C, C++, Fortran, and Pascal code for all algorithm implementations mentioned is on the accompanying CD rather than in the book itself, which helps make the book more compact. This book is a very good introduction to the methods of algorithm analysis and design, and an encyclopedic reference on many different types of algorithms. Highly recommended. |
| |