How to design recursive functions

Here are a few problem solving techniques I’ve found from various sources. These are only outlines of the general process, the source material that they come from has examples of their use. To really understand them, you should read the source material, and practice using them on a few simple programming problems.