Recall

All examples in chapter 2 use the following strategy:
Solve a similar, slightly smaller problem first and do a little work on the result.

This approach is called linear recursion. Example:

(define factorial
  (lambda (n)
    (if (= n 1)
        1
        (* (factorial (- n 1))
           n))))


       (factorial 4)
           \
	    \
       (* 4 (factorial 3))
	       	\
            	 \
            (* 3 (factorial 2)
		     \
		      \
                 (* 2 (factorial 1))
		       /
		      /
                 (* 2 1) => 2
		  /
		 /
            (* 3 2) => 6
	      /
	     /
        (* 4 6) => 24