unidad 2 recursividad

10
S TITUTO TECNOLOGICO SUPERIOR DE FELIPE CARRI Estructura de Datos Ing. Sistemas computacionales Docente: Niels Henryk Aranda Cuevas Alumno: Luis Enrique Moo Canche Grupo: 3er “A”

Upload: enrique2194

Post on 20-Aug-2015

21 views

Category:

Education


0 download

TRANSCRIPT

S

INSTITUTO TECNOLOGICO SUPERIOR DE FELIPE CARRILLO

Estructura de Datos

Ing. Sistemas computacionales Docente: Niels Henryk Aranda Cuevas Alumno: Luis Enrique Moo Canche Grupo: 3er “A”

Contenido

2.1. Definición

2.2. Procedimientos recursivos

2.3. Ejemplos de casos

U2. Recursividad.

S

2. Recursividad

U2. Recursividad.

2.1. Definición

Alternativa diferente para implementar estructuras de repetición (ciclos). Se apoya en la

modularidad, pues a través de los módulos se hacen llamadas recursivas.

Un módulo es recursivo si, como parte de su definición, incluye al menos una llamada a sí

mismo

(Martínez, R. & Quiroga, E., 2001)

U2. Recursividad.

TIPOS: Recursión simple Recursión múltiple Recursión cruzada o indirecta Recursión anidada

2.2. Procedimientos Recursivos

U2. Recursividad.

FACTORIAL ¿Cómo se calcula el factorial de un número?

Ejemplo: 0!, 1!, 2!, 3!, 4!, 5!

2.3. Ejemplo de Casos

U2. Recursividad.

Factorial (forma iterativa)

-- Caso Base

factorial = 1;

-- Parte Recursiva

for (int i =n; i >= 1; i --)

factorial *= i;

factorial *= i

SI

i = n i >= 1 i --

n

factorial =1

2.3. Ejemplo de Casos

U2. Recursividad.

Factorial (forma recursiva)int factorial (int n){

if (n <= 1)

return 1;

else

return (n * factorial ( n-1 ));

}

n <= 1 return 1

return(n * factorial (n-1))

SI

NO

n

2.3. Ejemplo de Casos

U2. Recursividad.

2.3. Ejemplos de casos

FIBONACCI (Leonardo de Pisa) ¿Cómo se calcula la serie Fibonacci?

Condiciones: Fibonacci (0) = 0 n=0 Fibonacci (1) = 1 n=1 Fibonacci (n) = Fibonacci(n-1)+Fibonacci(n-2)

n>1

Conclusión

Menos líneas de código.

Refleja el problema con más naturalidad.

Produce un programa más fácil de entender y depurar.

Tiempo de procesador.

Espacio en memoria, consume memoria adicional.