Recursion, Conceptually

Recursion is a problem that calls itself, directly or indirectly. Think of it like looking for a key in a box, finding another box, looking for the key in more smaller boxes until you find the key. This will make more sense once working through an example

Recursion has a base case and a recursive case. The base case is what we use when we don’t want the function to call itself. The recursive case is what we use when we want the function to call itself.

public static int factorial(int x)
{
			if (x == 1) //*Base case*
			{
						return 1;
			}
			else //*Recursive Case*
			{
						return x * factorial(x-1);
			}
}

This example follows this flowchart:

Let’s take x = 9.

https://s3.amazonaws.com/thinkific/file_uploads/288722/images/a7a/006/412/Flowchart.png

This gives us 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 = 362880

The function calls itself to get a value to use, and does this until a base condition is met. This allows the initial function to finally run.

Next Section

13.2 Fibonacci

<aside> ⚖️ Copyright © 2021 Code 4 Tomorrow. All rights reserved. The code in this course is licensed under the MIT License.

If you would like to use content from any of our courses, you must obtain our explicit written permission and provide credit. Please contact [email protected] for inquiries.

</aside>