SlideShare una empresa de Scribd logo
1 de 5
Unidad 2 
Recursividad 
Instituto Tecnológico Superior de 
Felipe Carrillo Puerto 
Ingeniería en Sistemas 
Computacionales 
 Estructura de Datos 
Esaú López Gómez Docente: Aranda Cuevas, Niels Henryk 
Lunes 29 de Septiembre del 2014
Recursividad 
 Recursión es una técnica de programación en el cual un método 
puede llamarse a sí mismo. La recursión es muy interesante y una 
técnica efectiva en programación ya que puede producir 
algoritmos cortos y eficientes. 
 Algo es recursivo si se define en términos de sí mismo cuando para 
definirse hace mención a sí mismo. 
 Un método recursivo es un método, directa o indirectamente, se 
hace una llamada a sí mismo. 
 La recursión consiste en el uso de métodos recursivos
Procedimientos Recursivos 
 Los 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. 
public int Metodo1(int n) 
{ 
: 
n = Metodo2(n-1); 
} 
public int Metodo2(int n) 
{ 
: 
n = Metodo1(n-1); 
}
Procedimiento Recursivo 
 En general el proceso es 
(4*factorial(3*factorial(2*factorial(1*factorial(0))))) 
La sumatoria de n números se realiza de la siguiente forma: 
n=10 
1+2+3+4+5+6+7+8+9+10 = 10+9+8+7+6+5+4+3+2+1 
De tal forma que podemos determinar que: 
1 si n = 1 paso básico 
n + (n-1) si n > 1 paso inductivo o proceso 
recursivo 
//5+suma(4+suma(3+suma(2+suma(1)))) 
n Llamado a factorial 
4 4*factorial(3) 
3 3*factorial(2) 
2 2*factorial(1) 
1 1*factorial(0) 
0 1

Más contenido relacionado

La actualidad más candente

Teoría de complejidad computacional (tcc).pptx
Teoría de complejidad computacional (tcc).pptxTeoría de complejidad computacional (tcc).pptx
Teoría de complejidad computacional (tcc).pptxYared Redman
 
Teoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaTeoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaRolf Pinto
 
Teoria de la c.c.
Teoria de la c.c.Teoria de la c.c.
Teoria de la c.c.belmont402
 
Programación dinámica - Bob Esponja
Programación dinámica - Bob EsponjaProgramación dinámica - Bob Esponja
Programación dinámica - Bob EsponjaBoris Fajardo
 
Eficiencia de algoritmos - Vanessa Ramirez
Eficiencia de algoritmos - Vanessa RamirezEficiencia de algoritmos - Vanessa Ramirez
Eficiencia de algoritmos - Vanessa RamirezVanessa Ramirez
 
Informe técnico Unidad 7 Análisis de algoritmos (Rubí Veronica)
Informe técnico Unidad 7 Análisis de algoritmos (Rubí Veronica)Informe técnico Unidad 7 Análisis de algoritmos (Rubí Veronica)
Informe técnico Unidad 7 Análisis de algoritmos (Rubí Veronica)Rubi Veronica Chimal Cuxin
 

La actualidad más candente (10)

Recursividad
RecursividadRecursividad
Recursividad
 
Recursividad
RecursividadRecursividad
Recursividad
 
Teoría de complejidad computacional (tcc).pptx
Teoría de complejidad computacional (tcc).pptxTeoría de complejidad computacional (tcc).pptx
Teoría de complejidad computacional (tcc).pptx
 
Teoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaTeoría De La Complejidad Algoritmica
Teoría De La Complejidad Algoritmica
 
Teoria de la c.c.
Teoria de la c.c.Teoria de la c.c.
Teoria de la c.c.
 
Programación dinámica - Bob Esponja
Programación dinámica - Bob EsponjaProgramación dinámica - Bob Esponja
Programación dinámica - Bob Esponja
 
Complejidad Computacional
Complejidad ComputacionalComplejidad Computacional
Complejidad Computacional
 
Eficiencia de algoritmos - Vanessa Ramirez
Eficiencia de algoritmos - Vanessa RamirezEficiencia de algoritmos - Vanessa Ramirez
Eficiencia de algoritmos - Vanessa Ramirez
 
Complejidad de algoritmos
Complejidad de algoritmos Complejidad de algoritmos
Complejidad de algoritmos
 
Informe técnico Unidad 7 Análisis de algoritmos (Rubí Veronica)
Informe técnico Unidad 7 Análisis de algoritmos (Rubí Veronica)Informe técnico Unidad 7 Análisis de algoritmos (Rubí Veronica)
Informe técnico Unidad 7 Análisis de algoritmos (Rubí Veronica)
 

Similar a Unidad 2 recursividad

Estructura de dato unidad 2
Estructura de dato unidad 2Estructura de dato unidad 2
Estructura de dato unidad 2lenithoz
 
Unidad 4 est. dat. recursividad
Unidad 4  est. dat. recursividadUnidad 4  est. dat. recursividad
Unidad 4 est. dat. recursividadrehoscript
 
Recursividad 100329105433-phpapp01
Recursividad 100329105433-phpapp01Recursividad 100329105433-phpapp01
Recursividad 100329105433-phpapp01EldonCent
 
recursividadexposicion1-090727182853-phpapp01.ppt
recursividadexposicion1-090727182853-phpapp01.pptrecursividadexposicion1-090727182853-phpapp01.ppt
recursividadexposicion1-090727182853-phpapp01.pptJUANANTONIOMACKLISHG
 

Similar a Unidad 2 recursividad (6)

Estructura de dato unidad 2
Estructura de dato unidad 2Estructura de dato unidad 2
Estructura de dato unidad 2
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Unidad 4 est. dat. recursividad
Unidad 4  est. dat. recursividadUnidad 4  est. dat. recursividad
Unidad 4 est. dat. recursividad
 
Recursividad 100329105433-phpapp01
Recursividad 100329105433-phpapp01Recursividad 100329105433-phpapp01
Recursividad 100329105433-phpapp01
 
recursividadexposicion1-090727182853-phpapp01.ppt
recursividadexposicion1-090727182853-phpapp01.pptrecursividadexposicion1-090727182853-phpapp01.ppt
recursividadexposicion1-090727182853-phpapp01.ppt
 

Más de Urban Skate House

Unidad 7 análisis de los algoritmos
Unidad 7 análisis de los algoritmosUnidad 7 análisis de los algoritmos
Unidad 7 análisis de los algoritmosUrban Skate House
 
Unidad 6 métodos de búsqueda
Unidad 6 métodos de búsquedaUnidad 6 métodos de búsqueda
Unidad 6 métodos de búsquedaUrban Skate House
 
Unidad 3 estructuras lineales
Unidad 3 estructuras linealesUnidad 3 estructuras lineales
Unidad 3 estructuras linealesUrban Skate House
 
Unidad 4 estructuras no lineales
Unidad 4 estructuras no linealesUnidad 4 estructuras no lineales
Unidad 4 estructuras no linealesUrban Skate House
 
Unidad 5 metodos de ordenamiento
Unidad 5 metodos de ordenamientoUnidad 5 metodos de ordenamiento
Unidad 5 metodos de ordenamientoUrban Skate House
 
Unidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datosUnidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datosUrban Skate House
 

Más de Urban Skate House (6)

Unidad 7 análisis de los algoritmos
Unidad 7 análisis de los algoritmosUnidad 7 análisis de los algoritmos
Unidad 7 análisis de los algoritmos
 
Unidad 6 métodos de búsqueda
Unidad 6 métodos de búsquedaUnidad 6 métodos de búsqueda
Unidad 6 métodos de búsqueda
 
Unidad 3 estructuras lineales
Unidad 3 estructuras linealesUnidad 3 estructuras lineales
Unidad 3 estructuras lineales
 
Unidad 4 estructuras no lineales
Unidad 4 estructuras no linealesUnidad 4 estructuras no lineales
Unidad 4 estructuras no lineales
 
Unidad 5 metodos de ordenamiento
Unidad 5 metodos de ordenamientoUnidad 5 metodos de ordenamiento
Unidad 5 metodos de ordenamiento
 
Unidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datosUnidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datos
 

Unidad 2 recursividad

  • 1. Unidad 2 Recursividad Instituto Tecnológico Superior de Felipe Carrillo Puerto Ingeniería en Sistemas Computacionales  Estructura de Datos Esaú López Gómez Docente: Aranda Cuevas, Niels Henryk Lunes 29 de Septiembre del 2014
  • 2. Recursividad  Recursión es una técnica de programación en el cual un método puede llamarse a sí mismo. La recursión es muy interesante y una técnica efectiva en programación ya que puede producir algoritmos cortos y eficientes.  Algo es recursivo si se define en términos de sí mismo cuando para definirse hace mención a sí mismo.  Un método recursivo es un método, directa o indirectamente, se hace una llamada a sí mismo.  La recursión consiste en el uso de métodos recursivos
  • 3. Procedimientos Recursivos  Los 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); }
  • 4.  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. public int Metodo1(int n) { : n = Metodo2(n-1); } public int Metodo2(int n) { : n = Metodo1(n-1); }
  • 5. Procedimiento Recursivo  En general el proceso es (4*factorial(3*factorial(2*factorial(1*factorial(0))))) La sumatoria de n números se realiza de la siguiente forma: n=10 1+2+3+4+5+6+7+8+9+10 = 10+9+8+7+6+5+4+3+2+1 De tal forma que podemos determinar que: 1 si n = 1 paso básico n + (n-1) si n > 1 paso inductivo o proceso recursivo //5+suma(4+suma(3+suma(2+suma(1)))) n Llamado a factorial 4 4*factorial(3) 3 3*factorial(2) 2 2*factorial(1) 1 1*factorial(0) 0 1