http://www.perlmonks.org?node_id=426064


in reply to Learning the Deeper Secrets of Perl

Here are some steps to refine your Perl-Fu

1) Read up on Algorithmic Time Complexities. Big-0, Big-Theta, etc.
2) Write some basic data structures using PERL
i.e. - Binary Search Tree, Linked List, Queue, Circular Queue

3) Write some recursive algorithms.

If you can do these things proficiently then you will have the knowlege to program whatever you want. Programming is not about the language, but about a certain way to think. Those three exercises are the basics of CS that any serious hacker should know.
  • Comment on Re: Learning the Deeper Secrets of Perl

Replies are listed 'Best First'.
Re^2: Learning the Deeper Secrets of Perl
by radiantmatrix (Parson) on Jan 31, 2005 at 14:42 UTC

    My background is administration, not CompSci. You lost me. ;-) I recognize some of the data structures you mentioned, for example, but not others. What are some good resources to learn about common algorithms, data structures, etc.?

    I reason that I can't be a good Perl programmer if I can't learn to be a good programmer in general...

    radiantmatrix
    require General::Disclaimer;
    s//2fde04abe76c036c9074586c1/; while(m/(.)/g){print substr(' ,JPacehklnorstu',hex($1),1)}

      One of the best online locations read up on general data structures and asymptotic time complexities would be the following URL

      http://en.wikibooks.org/wiki/Programming:Data_Structures

      This document gives a really great overview of all the major CS data structures and it even gives a nice explenation of Time-Complexities without going too in depth (It gets confusing when you start calculating complexities of recursive algorithms )

      Some of the pseudo-code and impelementations may be hard to understand, but what you cannot figure out based on this document you can definitely google. I was looking at the Linked-List explanation and I have defenitely seen better explanations before. There is no need to complicate such a simple concept...

      Good luck!