19/12/2011, 01:47
|
| | Fecha de Ingreso: junio-2010 Ubicación: Madrid
Mensajes: 620
Antigüedad: 14 años, 6 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. |