Personal Notes

Recursion is when a function calls itself — either directly or indirectly!

This can be difficult/tricky because...well, when do you stop calling yourself? *eek*

Recursion directly correlates to both mathematical induction and recurrence relations from math. As in those systems, you will need to identify:

The four rules of programming with recursion are:

Another — albeit similar — view is this one:

       given an initial problem of size n
       unless n is minimal,
          break this into several smaller \__ reduction
             problems of the same nature  /     step
             and apply this approach to   \__ recursive
             each                         /     call
          put the smaller case answers    \
             back together to answer our  |__ build
             size n problem -- include    |   phase
             any size n specific info     /
       else
          just use a canned response for  \__ base
             simple case(s)               /   case(s)