В чем смысл того, когда рекурсивный алгоритм не всегда достигает всех функций на каждом уровне? Рассмотрим этот код:Рекурсия без выполнения всех методов при каждом рекурсивном вызове
function f(value):
if val < -10 return g(value + 1)
if var > 10 return h(value - 1)
else return 0
function g(value):
if value % 2 == 0 return f(value/2)
else return h(value)
function h(value):
if value % 2 == 1 return g(value - 1)
else return h(value - 1)
Каждый рекурсивный вызов может вызывать другую функцию, например, когда мы начинаем с 15
:
f(15)
h(14)
h(13)
g(12)
f(6)
return 0