Tipos de recursión
Last updated
Last updated
ESQUEMA GENERAL
{Q()}
{R()}
donde los parámetros formales e han de entenderse como tuplas { } e { } , respectivamente.
Según que el elemento sucesor s(
)
sea único o no, pueden presentarse los dos tipos de funciones recursivas siguientes:
Función recursiva lineal o simple: cuando la función recursiva genera A LO SUMO UNA LLAMADA INTERNA por cada llamada externa.
Función recursiva no lineal o múltiple: cuando genera DOS O MÁS LLAMADAS INTERNAS por cada llamada externa.
Nota.- Si aparecieran varias llamadas recursivas, cada una en una alternativa diferente de una instrucción condicional, la recursividad seguiría siendo lineal ya que, en tiempo de ejecución, las alternativas son mutuamente excluyentes y a lo sumo se produciría una invocación.
EJEMPLO DE FUNCIÓN RECURSIVA LINEAL O SIMPLE
EJEMPLO DE FUNCIÓN RECURSIVA NO LINEAL O MÚLTIPLE
EJEMPLO DE FUNCIÓN RECURSIVA LINEAL O SIMPLE
Según que el comportamiento de la función c (función de combinación) pueden presentarse los dos tipos de funciones recursivas siguientes:
FUNCIÓN RECURSIVA NO FINAL O NO DE COLA
Cuando la función c SÍ es necesaria
FUNCIÓN RECURSIVA FINAL O DE COLA
Cuando la función c NO es necesaria
EJEMPLO DE FUNCIÓN RECURSIVA NO FINAL O NO DE COLA
EJEMPLO DE FUNCIÓN RECURSIVA FINAL O DE COLA
EJEMPLO DE FUNCIÓN RECURSIVA NO FINAL O NO DE COLA
{}
{}
{}
{}
{}
Función recursiva no final o no de cola: cuando la función c es necesaria, esto es, f(̅) = c(f(s(̅)),)
Función recursiva final o de cola: cuando la función c no es necesaria, esto es, f(̅ ) = f(s())
{}
{}
{}
{}
{}