Home :: Books :: Computers & Internet  

Arts & Photography
Audio CDs
Audiocassettes
Biographies & Memoirs
Business & Investing
Children's Books
Christianity
Comics & Graphic Novels
Computers & Internet

Cooking, Food & Wine
Entertainment
Gay & Lesbian
Health, Mind & Body
History
Home & Garden
Horror
Literature & Fiction
Mystery & Thrillers
Nonfiction
Outdoors & Nature
Parenting & Families
Professional & Technical
Reference
Religion & Spirituality
Romance
Science
Science Fiction & Fantasy
Sports
Teens
Travel
Women's Fiction
Mastering Algorithms with Perl

Mastering Algorithms with Perl

List Price: $34.95
Your Price: $23.07
Product Info Reviews

<< 1 2 >>

Rating: 5 stars
Summary: An Excelent Book , a must have for serious Perl developer
Review: Mastering Algorithms with Perl is a excelent book to learn ( or remember ) a lot of usefull techniques to develop with perl, you will learn from Efficiency to Interpolation, Extrapolation and Curve Fitting, just take my advice, if you are new to perl this book isn't for you ( yet ). This is for people who already have perl experience and want to learn some good techniques.

Rating: 5 stars
Summary: Kansas City Perl Mongers: Book Review
Review: 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. ...

Rating: 5 stars
Summary: Just Fabulous
Review: Must buy for any non-expert perl programmer who is interested in
improving their algorithtms. Code is included. Only -ve point is that, it is not on the web for an easy cut and copy
Bino John

Rating: 1 stars
Summary: Okay book, bad language & subject matter
Review: Perl is a great language which I have used every single day since Perl 3, but it is not the ideal tool for testing algorithms & their speed. While the algorithm ideas are applicable to any language, the Perl code is not portable (specially with Perl's particular syntaxis). This book tries to be like "Numerical Recipes for C" but falls short on both subject matter. If you are an average to decent Perl Hacker, the material in this book will still be useless to you and probably put you to sleep quickly since you \won't get it. If, on the other hand, you are math student or scientist, the book will also have make you yawn, since you'll have already seen the examples before and in a much more clear & portable language: C.

Rating: 5 stars
Summary: Excellent, Excellent Resource
Review: There's something here for everyone from the novice to very experienced Perl users. It starts with the basics and builds very, very rapidly into complicated ideas without losing coherence. Most of the material is not what the casual user will ever need to use, but not above the understanding of casual users either, if you are looking at more complex projects or want to learn more. Good detail on sorting, complex data structures, higher math functions, and several other areas. This book is the jump to lightspeed as far as Perl resources go.

Rating: 4 stars
Summary: Nice introduction
Review: This book ia fairly good introduction to the use of PERL in developing and implementing various algorithms, including scientific and cryptographic ones. Fortunately, source is included, setting the book apart from the usual books on computer algorithms.

The first few chapters outline PERL data structures, with the built-in data structures discussed, along with a discussion of how to create new ones. The dynamic nature of arrays in PERL is emphasized, and this is a feature that sets PERL way above other languages, such as C and C++. Linked lists are given a detailed treatment along with garbage collection in PERL. The authors are careful to point out that reference counting in PERL will fail when one is dealing with a circle of reference values.

A discussion of sorting follows, with radix and hybrid sorts being the most useful of the algorithms discussed. The authors give a useful comparison study of the running time of the sorting algorithms. This is followed by a discussion of searching algorithms, which unfortunately omits any details of dynamic programming, which is useful in applying PERL to areas such as computational biology.

The authors give a very interesting treatment of how to do set operations using PERL in the next chapter. They did not treat the case of fuzzy sets in detail though, unfortunately.

Matrix algorithms are discussed next, with the PERL modules MatrixRead and PDL integrated into the discussion. I have only used PDL and its graphic library PGPLOT and have had varying degress of success with it. PERL still has a long way to go before it is accepted as a language suitable for numerical computations.

Graph algorithms are the subject of the next chapter. The most useful section is the one on minimum spanning trees, so useful in network routing algorithms.

This is followed by a thorough discussion of string algorithms in Chapter 9. These algorithms are extremely important in current applications, such as string matching and alignment in computational biology. That the authors give the source code for the algorithms is extremely helpful to those who need to apply these algorithms.

The authors return to geometric algorithms in the next chapter, with only elementary ones being discussed, with brief overviews of PERL graphics modules available.

Number systems and numerical precision are taken up in the next chapter, with 32 bit precision implemented in the discussion. The authors do however discuss how large number arithmetic can be implemented in PERL via the BigFloat and BigInt modules. This is followed by modular arithmetic and number theory , with PERL code given for the Miller-Rabin primality test. This chapter is very short, but it sets up the next chapter on cryptography, which begins with a discussion of passwords, with a PERL program given that checks valid passwords. Then, interestingly, a PERL 1-liner is given for cracking a password list. The discussion on passwords should be of interest to individuals first entering the field of computer security. This is followed by a fairly complete elaboration on authentication and checksums. Encryption of data is discussed in the next section, along with a brief mention of the AES, which at the time of publication of this book, was not settled. The RSA algorithm is discussed also, with a 3-line PERL code given for it, along with a more instructive version later. Only one section on steganography is included, and since this is a subject of intense research with useful applications, this is somewhat disappointing.

The last three chapters covers probability and statistics and numerical analysis, and given the growing use of PDL in astrophysics and other areas of science, this is a fitting way to end the book. PERL code is given for the most popular probability distributions, and also for some of the standard statistical tests. Only some rudimentary algorithms are given for calculus and data interpolation, but the discussion should prepare the reader for more advanced reading in numerical algorithms using PERL and the use of PDL.

Rating: 5 stars
Summary: A great book on the subject
Review: This book is a great book, not only on the subject of algorithms, but also on how to implement them in Perl. A huge number of topics are covered, from Data Structures, to Searching/sorting, to cryptography, and much more. And what I found to be among the most useful additions was that for every subject, they give you a full implementation on the subject. I've read a few books on algorithms, but this is one of the most easy to read, and definitely one of the most practically useful. Recommended for any Perl programmer, regardless of skill.

Rating: 5 stars
Summary: Excellent ! A "cookbook"...but for algorithms in Perl
Review: 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 !

Rating: 2 stars
Summary: OK book. Bad subject matter.
Review: Using perl to implement data structures and algorithms is kind of a laughable concept. Perl was designed specifically so that users wouldn't have to deal with this sort of thing. Algorithms written in perl are much less portable than algorthms written in a more low level language, and perl's built in data types are so powerful that they make the construction of user defined types unnecessary. Not to mention the fact that perl does so much behind your back that unless you go rooting through source code it is impossible to get truly accurate time complexity analysis of algorithms implemented in perl. If you are looking for a good algorithm book, check out Corman's Introduction to Algorithms. If you are looking for a good perl book, check out Programming Perl. If you are looking for a book that will tell you how to do a bunch of weird stuff with perl, check out Conway's Object Oriented Perl. But perl and hardcore algorithm study have never mixed, and god knows they shouldn't.


<< 1 2 >>

© 2004, ReviewFocus or its affiliates