## Mastering Algorithms with Perl

### Book Details

**Availability:**Usually ships in 24 hours

**List Price:**$34.95

**Our Price:**$23.07

You Save: $11.88 (34%)

### Spotlight Customer Reviews

**Average Customer Rating:**4.25

**Customer Rating:**2

**Summary:**MAP makes many promises, but fails to deliver.

**Comment:**As a guy ( engineer not computer expert ) who uses computers everyday to help his research, I would steer you away from using Perl for any task involving mathematical concepts more complicated than addition/subtraction/multiplication and addition.

I heard this same advice before buying this book and ignored it, I really wish I had listened back then.

While MAP has some nice pictures which broadly describe the essential concepts, it will give you no idea as to how to actually implement those ideas. Further, all the code is available in CPAN ( If you don't know CPAN, check it out before going any further - at the very least install a module ) and much ( at least what I attempted to use ) appeared to be broken.

Authors of computer books are usually good about answering e-mail but these authors did not deign to respond to mine.

If you are out there, struggling to learn algorithms, I would suggest taking a good computer course on the subject. I'm 99% certain the course will be taught in C/C++ or similar language -these languages have tremendous advantages over Perl when it comes to data structures and, believe me, even as a novice I've come to appreciate them...

If you really know algorithms and wish to write a few in Perl, you can do without this book. Pick up Deitel & Deitel's 'Perl: How to Program' instead or O'Reilly's basic book ( which is good, but I prefer Deitel and Deitel ) ....besides D&D answer their e-mail.

**Customer Rating:** 5

**Summary:** Excellent ! A "cookbook"...but for algorithms in Perl

**Comment:** This book is certainly not meant for learning Perl nor being read from the first page to the last...it's a compilation of some of the advanced features of Perl aimed at resolving very specific algorithmic problems.

Two examples :

1) i had an efficiency problem with my code that required boosting some subroutines that were heavily used but could not be easily implemented with a data structure...so i discovered the "Memoize" module that performs caching on subroutines, allowing me to speed up my code by a factor of 10 !

2) i had to find the maximum likelihood estimation of several probability distributions on some important amount of data, and for multi-parameter distributions. I just used the complex module and LU decomposition to find the roots of my non-linear systems, which can be "easily" done by specifying the equations to be resolved (expressed as subroutines which values are instanciated by the resolver) and applying a heuristic root finding algorithm based on Newton's method combined with LU decomposition. It would have taken several days or even weeks to write it from scratch in C or C++, but most of the code already existed so it was written within one day !

Of course, it's not a general-purpose book on Perl programming but rather a cookbook for some very specific utilization of Perl like "non-linear equations systems root finding" or graphs theory problems...so don't expect this to be a well-organized book since it's not intended to be that way !

**Customer Rating:** 5

**Summary:** Kansas City Perl Mongers: Book Review

**Comment:** Mastering Algorithms with Perl is an intermediate to advanced text describing traditional algorithms and data structures through Perl. It assumes a basic understanding of Perl. And while the average reader will be able to progress through the better part of the book with no background in computer science, the last third of the book requires at least a passing familiarity with Calculus, advanced mathematical notation, and covers topics from the vantage those already initiated to Probability, Statistics, Cryptology, and Number Theory.

That said, the book has something for everyone. Beginner and Intermediate level Perl programmers will find the book's materials information dense but approachable. Advanced programmers will find a well written refresher illustrating familiar concepts in Perl. Given the breadth of the book and the language specific insights, even experience Perl programmers should expect to learn a thing or two.

Topics covered include: linked lists, circular linked lists, garbage collection, doubly-linked lists, infinite lists, binary trees, heaps, binary heaps, janus heaps, sorting, searching, sets, matrices, graphs, strings, geometric algorithms, number systems, number theory, cryptography, probability, statistics, and numerical analysis.

I've found that while the book is somewhat daunting, it goes down best a little bit at a time: read a chapter, then work through the examples. The first time I attempted to read the book I got about a third of the way through before stopping, scanning the rest, and putting it back on the shelf. A couple months later as I was working on a problem involving graphs and trees, the book came back down. And as interesting and complicated problems present themselves, I often find myself reaching for it.

It covers an awful lot in 701 tightly packed pages. Have you ever wondered how regular expressions work? Hashes? Insights into their internal workings are in there. It is an excellent reference and fills a much needed gap. No other Perl book comes close to the breadth and depth coverage of these materials. That said, early printings of the first edition had a tremendous number of errors and typos. If you buy it used, I would highly recommend visiting the O'Reilly site to read the errata. ...