Ver Mensaje Individual
  #7 (permalink)  
Antiguo 19/12/2011, 01:47
Fw190
 
Fecha de Ingreso: junio-2010
Ubicación: Madrid
Mensajes: 620
Antigüedad: 13 años, 11 meses
Puntos: 73
Respuesta: Concepto de FIFO y LIFO

En efecto, un método recursivo es el que se llama a sí mismo para resolver un problema. Tienes recursión directa, es decir, un proceso A se llama a sí mismo (pero con un grado menos de complejidad). El caso típico es el de calcular el factorial de un número n, que será igual a ese número n multiplicado por el factorial del número (n-1).

La recursión indirecta es cuando un proceso A llama a un proceso B, que a su vez puede llamar nuevamente al proceso A.

La ventaja de la recursión es que se pueden resolver algunos problemas de manera sencilla y elegante, con (relativamente) pocas líneas de código. La desventaja es que las sucesivas llamadas a función van ocupando espacio de pila y consumiendo recursos, no siendo raros los casos de desbordamiento de pila (stack overflow) si no se tiene cuidado. Si empleas la recursión, debes tener clara la condición de salida y dónde debe ir.

La iteración es la repetición de una serie de instrucciones, bien sea un número conocido de veces (bucles FOR, por ejemplo) ó un número indeterminado de veces (bucles DO, WHILE), en que se repite el conjunto de operaciones mientras se cumpla una condición, ó hasta que se cumpla una condición.

Esto es válido para cualquier lenguaje de programación, únicamente tienes que tener en cuenta las particularidades del lenguaje que utilices.