Here's an obviously recursive function:
function()
{
function();
}
We would simply call this "recursive"—but what about this (barely) more complex version?
functionLeft()
{
functionRight();
}
functionRight()
{
functionLeft();
}
Is there a term for this scenario, e.g., "double recursion"? Or is there no specific term to distinguish this case from the single-function case above?
It's called mutual recursion.
As Jon Purdy said, the example you gave is called "mutual recursion". The term "double recursion" also exists, but with a different meaning: for when a function uses two recursive calls. The classic example is the Fibonacci function"
int Fib(int n)
{
if (n < 2) return 1;
return Fib(n-1) + Fib(n-2);
}
The Fib(n) function recursively calls itself twice.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With