7 of 7 people found the following review helpful
on 7 January 2000
This book has proved to be immensely useful to me when coding serious Perl, and has provided valuable lessons in projects one wouldn't immediately think of as needing highly mathematical content.
Well written and easy to read, the authors manage to cut-through some quite complex theory to provide really useful Perl code, and encourage you to think in better ways when designing your own algorithms.
on 23 July 2007
This is a very accessible introduction to data structures and algorithms in Perl. It doesn't go into a lot of theory, it isn't going to answer your computer science homework, but it does give a good feel for the various applications of algorithm research.
Plus, the code is all in Perl, which is not as unreadable as received wisdom asserts. It's certainly more accessible for the interested Perl-savvy amateur than the pseudocode in Introduction to Algorithms.
Obviously, you're going to have to move onto the likes of Cormen et al, if you're really serious about this stuff. And practically speaking, yes, most of this can be found in CPAN without you having to worry your pretty little head about the mechanics. If just getting something done is your main concern, then this is not the book for you.
Plus, it must be admitted that the level of detail varies across the chapters, and some of the explanations can be opaque, even for the simple stuff. I felt I had to work unnecessarily hard to comprehend some of the material: the discussion of the A* algorithm, some of the tree-related algorithms and the section on compression all suffered from this to varying degrees. This is the sort of book which requires concentration (plus copious scrap paper for scribbling down arrows and boxes) to get anything from.
But to complain that Perl doesn't need you to write these data structures from scratch, and it isn't a suitable language for this sort of thing anyway, is to miss the point of at least part of the book. It's about communicating the intellectual pleasure of wrapping your head around these fundamental bits of computer science, and in that respect it succeeds admirably. If you're looking for an introduction to the area, this is definitely worth getting hold of.
It's another one of those useful blue O'Reilly books with an animal on the front. A wolf, in this case. This one starts with basic data structures in Perl and then presents reusable algorithms of increasing complexity. The authors intend it for two types of readers: "...those who want to cut and paste solutions and those who want to hone their programming skills." Attempting to serve both audiences, the authors attempt to be both practical and theoretical.
The book begins with basic and advanced data structures. The next series of chapters each address basic programming tasks such as sorting, searching, and working with sets, matrices, graphs, and strings. The final set of chapters is organized by topic area, covering geometric algorithms, number systems, number theory, cryptography, probability, statistics, and numerical analysis. A concluding appendix suggests additional readings.
The format and quality are familiar to readers of other O'Reilly books. It is a good, readable exploration of algorithms implemented in Perl. You will need to get the latest version of Perl on your own. No problems with that, either.