Estructura de dato unidad 2

6
ING. SISTEMAS COMPUTACIONALES Docente: Niels Henryk Aranda Cuevas Alumna: Marleni Tuyub Che stituto Tecnológico Superior de Felipe Carrillo Pue Estructura de Datos

Transcript of Estructura de dato unidad 2

Page 1: Estructura de dato unidad 2

ING. SISTEMAS COMPUTACIONALES

Docente: Niels Henryk Aranda Cuevas

Alumna: Marleni Tuyub Che

Instituto Tecnológico Superior de Felipe Carrillo Puerto

Estructura de Datos

Page 2: Estructura de dato unidad 2

Unidad 2recursividad

Page 3: Estructura de dato unidad 2

2.1 Definición

La recursividad es una técnica de programación importante, se utiliza para realizar una llamada a una función desde la misma función

2.2 procedimiento recursivosLos procedimientos recursivos o recurrentes se pueden clasificar en dos formas distintas:-       Recursividad directa o-       Recursividad indirecta La recursividad directa se presenta cuando el método se manda llamar a sí mismo dentro de su propio cuerpo de instrucciones.            public int Metodo(int n)            {                        :                        n = Metodo(n-1);}La recursividad indirecta se manifiesta cundo un método llama a otro y dentro del segundo se manda llamar al primero. O cuando existe la llamada a métodos de forma encadenada y al terminar el último método llamado, transfiere el control al anterior, hasta llegar al método que inicio la serie de llamadas.

Page 4: Estructura de dato unidad 2

public int Metodo1(int n)            {                        :                        n = Metodo2(n-1);            }public int Metodo2(int n)            {                        :                        n = Metodo1(n-1);            }Analizando el concepto de recursividad y su clasificación,  puede indicar que es un procedimiento infinito, que solo se detendrá en el momento que se agote la memoria, generando un error de programación y la interrupción del mismo.Pero esto no es así, ya que debe existir un elemento que indica el retorno de un resultado concreto y no el retorno de la llamada al método recursivo o recurrente.

Funcionamiento del proceso

n Llamado a factorial

4 4*factorial(3)

    3  3*factorial(2)

    2  2*factorial(1)    

     1    1*factorial(0) 0 1                   

Page 5: Estructura de dato unidad 2

Imprimir de manera recursiva la serie de fibonnaci

Fibonnacci de manera recursiva

 Fibonacci(0,1,21)=1Fibonacci(1,1,21)=2Fibonacci(1,2,21)=3Fibonacci(2,3,21)=5Fibonacci(3,5,21)=8Fibonacci(5,8,21)=13Fibonacci(8,13,21)=21

Realizar de manera recursiva la potencia de un número para n.

24   2*potencia(2*potencia(2*potencia(2*potencia(2,0))Potencia(2,4)=2*potencia(2,3)=16Potencia(2,3)=2*potencia(2,2)=8Potencia(2,2)=2*potencia(2,1)=4Potencia(2,1)=2*potencia(2,0)=2Potencia(2,0)=1

Page 6: Estructura de dato unidad 2

conclusión

se llama a una función recursiva es llamar una función en si misma para resolver un problema. En realidad la función sólo sabe cómo resolver el(los) caso(s) más sencillo(s), o lo que se conoce como base(s).Si a la función se le llama con el caso base, la función sencillamente devuelve el resultado. Si a la función se le llama con un problema más complicado, la función divide el problema en  partes conceptuales, la parte que la función sabe cómo resolver y la parte que la función o resolver.