2.9 Resources

I recommend the following O'Reilly sources for more details on data structures in Perl:

  • Programming Perl, by Larry Wall, Tom Christiansen, and Jon Orwant. This is the bible of Perl programming. Everything about data structures is explained in detail.

  • Advanced Perl Programming by Sriram Srinivasan. An excellent book that covers references and data structures.

  • Mastering Algorithms with Perl by Jon Orwant, Jarkko Hietaniemi, and John Macdonald. A marvelous book, especially if you like this chapter. Many interesting data structures and algorithms are explained and implemented in Perl.

  • The Perl Cookbook by Tom Christiansen and Nathan Torkington. As the title implies, this book is composed of fairly short recipes that accomplish particular tasks, grouped according to application area.

Here's where to go for Perl documentation:

  • The perlreftut tutorial page from the Perl documentation gives a short introduction to Perl references (type perldoc perlreftut at your command line if Perl is installed, or visit the web page http://www.perldoc.com).

  • The perlref tutorial page from the Perl documentation discusses Perl references in detail.

  • The perldata tutorial page from the Perl documentation gives an introduction to Perl data structures.

  • The perldsc tutorial page from the Perl documentation presents a "cookbook" overview of Perl data structures.

  • The perllol tutorial page from the Perl documentation gives an introduction to arrays of arrays.

The literature on algorithms is vast, including many textbooks as well as advanced monographs and peer reviewed journals. I recommend the following sources as a few entry points for more details on dynamic programming and algorithms:

  • Computer Algorithms by Sara Baase and Allen VanGelder (Addison Wesley). This book is clearly written for the undergraduate level, and includes a very nice explanation of the algorithm presented in this chapter.

  • Introduction to Algorithms by Thomas Cormen, Charles Leiserson, and Ron Rivest (MIT Press and McGraw-Hill). An excellent and standard college textbook, well written; can serve as a reference book for the serious programmer.

  • Algorithms on Strings, Trees, and Sequences: Computer Science and Computational Biology by Dan Gusfield (Cambridge University Press). This book specializes in algorithms for strings, including such topics as sequence alignment. It's very detailed, but even so, not complete?this is a big field! The best single source on string algorithms, with lots of information about biological sequence similarity.

  • Data Structures and Algorithms by Alfred Aho, John E. Hopcroft, and Jeffrey Ullman (Addison Wesley). This is the classic book on the science of algorithms.

  • Introduction to Parallel Algorithms and Architectures: Arrays, Trees, Hypercubes by Frank Thomson Leighton (Morgan Kaufmann). A comprehensive, rigorous text and reference book.

  • Randomized Algorithms by Rajeev Motwani and Prabhakar Raghavan (Cambridge University Press). A clear, rigorous course.