SlideShare uma empresa Scribd logo
1 de 6
INSTITUTO TECNOLÓGICO SUPERIOR DE FELIPE 
CARRILLO PUERTO 
ESTRUCTURA DE DATOS 
“RECURSIVIDAD” 
NOMBRE DEL PROFESOR (A): MTI. Niels Henryk Aranda Cuevas. 
NOMBRE DEL ALUMNO: Erwin Alexander Villegas tun 
INGENIERÍA EN SISTEMAS COMPUTACIONALES 
SEMESTRE III GRUPO A 
AULA J3 
FELIPE CARRILLO PUERTO A 10 DE NOVIEMBRE DEL 2014
RECURSIVIDAD: El concepto 
La recursividad es un concepto fundamental en matemáticas y en 
computación. 
•Es una alternativa diferente para implementar estructuras de repetición 
(ciclos). Los módulos se hacen llamadas recursivas. 
•Se puede usar en toda situación en la cual la solución pueda ser expresada 
como una secuencia de movimientos, pasos o transformaciones gobernadas 
por un conjunto de reglas no ambiguas.
Procedimientos o funcion recursiva 
 Caso recursivo: una solución que involucra volver a utilizar la función original, con parámetros que 
se acercan más al caso base. Los pasos que sigue el caso recursivo son los siguientes: 
 1.El procedimiento se llama a sí mismo. 
 2.El problema se resuelve, tratando el mismo problema pero de tamaño menor. 
 3.La manera en la cual el tamaño del problema disminuye asegura que el caso base 
eventualmente se alcanzará.
Ejemplos de casos recursivos 
Escribe un programa que calcule el factorial (!) de un entero no negativo. He 
aquí algunos ejemplos de factoriales: 
•1! = 1 
• 2! = 2 2 * 1 
• 3! = 6 3 * 2 * 1 
• 4! = 24 4 * 3 * 2 * 1 
• 5! = 120 5 * 4 * 3 * 2 * 1
Ejemplo: 2 
Ejemplo: 
A continuación se puede ver la secuencia de factoriales. 
0! = 1 
1! = 1 = 1 * 1 = 1 * 0! 
2! = 2 = 2 * 1 = 2 * 1! 
3! = 6 = 3 * 2 * 1 = 3 * 2! 
4! = 24 = 4 * 3 * 2 * 1 = 4 * 3! 
5! = 120 = 5 * 4 * 3 * 2 * 1 = 5 * 4! 
... 
N! = = N * (N – 1)!
Valores: 0, 1, 1, 2, 3, 5, 8... 
Cada término de la serie suma los 2 anteriores. Fórmula recursiva 
fib(n) = fib (n - 1) + fib (n - 2) 
Caso base: Fib (0)=0; Fib (1)=1 
Caso recursivo: Fib (i) = Fib (i -1) + Fib(i -2) 
public static int fib(int n){ 
if (n <= 1) return n; //condición base 
else 
return fib(n-1)+fib(n-2); //condición recursiva 
} 
Ejemplo: Serie de Fibonacci

Mais conteúdo relacionado

Mais procurados

Estructura de Datos: Recursividad
Estructura de Datos: RecursividadEstructura de Datos: Recursividad
Estructura de Datos: Recursividad
Yanahui Bc
 
Metodologia de la programacion recursividad
Metodologia de la programacion   recursividadMetodologia de la programacion   recursividad
Metodologia de la programacion recursividad
victdiazm
 
Arreglo unidimensionales y bidimensionales
Arreglo unidimensionales y bidimensionalesArreglo unidimensionales y bidimensionales
Arreglo unidimensionales y bidimensionales
Marco Garay
 
Integrales infefinidas
Integrales infefinidasIntegrales infefinidas
Integrales infefinidas
Glenda Freire
 

Mais procurados (20)

Algoritmos recursivos
Algoritmos recursivosAlgoritmos recursivos
Algoritmos recursivos
 
Curso recursividad
Curso   recursividadCurso   recursividad
Curso recursividad
 
Recursividad
RecursividadRecursividad
Recursividad
 
Estructura de Datos: Recursividad
Estructura de Datos: RecursividadEstructura de Datos: Recursividad
Estructura de Datos: Recursividad
 
RECURSIVIDAD C++
RECURSIVIDAD C++RECURSIVIDAD C++
RECURSIVIDAD C++
 
Recursividad
RecursividadRecursividad
Recursividad
 
Recursividad
RecursividadRecursividad
Recursividad
 
Recursividad directa e indirecta
Recursividad directa e indirectaRecursividad directa e indirecta
Recursividad directa e indirecta
 
6.funciones y recursividad en c++
6.funciones y recursividad en c++6.funciones y recursividad en c++
6.funciones y recursividad en c++
 
Metodologia de la programacion recursividad
Metodologia de la programacion   recursividadMetodologia de la programacion   recursividad
Metodologia de la programacion recursividad
 
Modulo4
Modulo4Modulo4
Modulo4
 
Recursividad 100329105433-phpapp01
Recursividad 100329105433-phpapp01Recursividad 100329105433-phpapp01
Recursividad 100329105433-phpapp01
 
Arreglo unidimensionales y bidimensionales
Arreglo unidimensionales y bidimensionalesArreglo unidimensionales y bidimensionales
Arreglo unidimensionales y bidimensionales
 
03 tda1 t2018
03 tda1 t201803 tda1 t2018
03 tda1 t2018
 
Definicion de antiderivadas victor
Definicion de antiderivadas victorDefinicion de antiderivadas victor
Definicion de antiderivadas victor
 
Algoritmos y Estructura de Datos
Algoritmos y Estructura de DatosAlgoritmos y Estructura de Datos
Algoritmos y Estructura de Datos
 
2 algoritmos-1
2 algoritmos-12 algoritmos-1
2 algoritmos-1
 
Integrales infefinidas
Integrales infefinidasIntegrales infefinidas
Integrales infefinidas
 
Recursividad (Divide y Vencerás)
Recursividad (Divide y Vencerás)Recursividad (Divide y Vencerás)
Recursividad (Divide y Vencerás)
 
Dos estrategias de búsqueda anytime basadas en programación lineal entera par...
Dos estrategias de búsqueda anytime basadas en programación lineal entera par...Dos estrategias de búsqueda anytime basadas en programación lineal entera par...
Dos estrategias de búsqueda anytime basadas en programación lineal entera par...
 

Destaque

Programación Modular
Programación ModularProgramación Modular
Programación Modular
guestefc95b
 
Programación Modular y Estructyrada
Programación Modular y EstructyradaProgramación Modular y Estructyrada
Programación Modular y Estructyrada
guestefc95b
 
Programacion Modular
Programacion ModularProgramacion Modular
Programacion Modular
guestb97266b9
 
12 programacion modular
12 programacion modular12 programacion modular
12 programacion modular
Laura Cruz
 
Programación Orientada a Objeto
Programación Orientada a ObjetoProgramación Orientada a Objeto
Programación Orientada a Objeto
ismaelrubino
 

Destaque (20)

Programación Modular
Programación ModularProgramación Modular
Programación Modular
 
Programación modular
Programación modularProgramación modular
Programación modular
 
Programacion Modular
Programacion ModularProgramacion Modular
Programacion Modular
 
Programación Modular y Estructyrada
Programación Modular y EstructyradaProgramación Modular y Estructyrada
Programación Modular y Estructyrada
 
Top down
Top downTop down
Top down
 
Programación modular. Esteban Alzate Duque
Programación modular. Esteban Alzate DuqueProgramación modular. Esteban Alzate Duque
Programación modular. Esteban Alzate Duque
 
Programación pararelo
Programación parareloProgramación pararelo
Programación pararelo
 
Procesamiento en paralelo
Procesamiento en paraleloProcesamiento en paralelo
Procesamiento en paralelo
 
Tema 4: Procesamiento paralelo.
Tema 4: Procesamiento paralelo.Tema 4: Procesamiento paralelo.
Tema 4: Procesamiento paralelo.
 
Vista aérea de los lenguajes de programación
Vista aérea de los lenguajes de programaciónVista aérea de los lenguajes de programación
Vista aérea de los lenguajes de programación
 
Tema 7
Tema 7Tema 7
Tema 7
 
Programacion Modular
Programacion ModularProgramacion Modular
Programacion Modular
 
Sentencia, secuencia y bloque
Sentencia, secuencia y bloqueSentencia, secuencia y bloque
Sentencia, secuencia y bloque
 
Programación modular
Programación modularProgramación modular
Programación modular
 
CURSO DE PROGRAMACION BASICA - Cap 5
CURSO DE PROGRAMACION BASICA - Cap 5CURSO DE PROGRAMACION BASICA - Cap 5
CURSO DE PROGRAMACION BASICA - Cap 5
 
12 programacion modular
12 programacion modular12 programacion modular
12 programacion modular
 
Programacion MODULAR
Programacion MODULARProgramacion MODULAR
Programacion MODULAR
 
Logica subprogramas
Logica subprogramasLogica subprogramas
Logica subprogramas
 
Programación Orientada a Objeto
Programación Orientada a ObjetoProgramación Orientada a Objeto
Programación Orientada a Objeto
 
Procesamiento paralelo
Procesamiento paraleloProcesamiento paralelo
Procesamiento paralelo
 

Semelhante a 2.1 recursividad

Programación Orientada a Objetos parte 3
Programación Orientada a Objetos  parte 3Programación Orientada a Objetos  parte 3
Programación Orientada a Objetos parte 3
Karla Silva
 

Semelhante a 2.1 recursividad (20)

Recursividad.pdf
Recursividad.pdfRecursividad.pdf
Recursividad.pdf
 
Recursividad
RecursividadRecursividad
Recursividad
 
2. Recursividad
2. Recursividad2. Recursividad
2. Recursividad
 
Recursividad
RecursividadRecursividad
Recursividad
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
20 calculo-para-la-ingenieria-salvador-vera-tomo-ii
20 calculo-para-la-ingenieria-salvador-vera-tomo-ii20 calculo-para-la-ingenieria-salvador-vera-tomo-ii
20 calculo-para-la-ingenieria-salvador-vera-tomo-ii
 
Programación Orientada a Objetos parte 3
Programación Orientada a Objetos  parte 3Programación Orientada a Objetos  parte 3
Programación Orientada a Objetos parte 3
 
Polinomio característicio.pptx
Polinomio característicio.pptxPolinomio característicio.pptx
Polinomio característicio.pptx
 
Tema 1 Recursión
Tema 1 RecursiónTema 1 Recursión
Tema 1 Recursión
 
00675591402IA02S11079323Semana1dealgebraLineal2022-2.pdf
00675591402IA02S11079323Semana1dealgebraLineal2022-2.pdf00675591402IA02S11079323Semana1dealgebraLineal2022-2.pdf
00675591402IA02S11079323Semana1dealgebraLineal2022-2.pdf
 
clase 3.pdf
clase 3.pdfclase 3.pdf
clase 3.pdf
 
Teoria elemental de exponentes ccesa007
Teoria elemental de exponentes ccesa007Teoria elemental de exponentes ccesa007
Teoria elemental de exponentes ccesa007
 
Recursividad ia lili
Recursividad ia liliRecursividad ia lili
Recursividad ia lili
 
Recursividad ia lili
Recursividad ia liliRecursividad ia lili
Recursividad ia lili
 
Transformaciones modelo a modelo: ATL (ParteII)
Transformaciones modelo a modelo: ATL (ParteII)Transformaciones modelo a modelo: ATL (ParteII)
Transformaciones modelo a modelo: ATL (ParteII)
 
Presentacion unidad 2 victor uex
Presentacion unidad 2 victor uexPresentacion unidad 2 victor uex
Presentacion unidad 2 victor uex
 
Calculo ii (1)
Calculo ii (1)Calculo ii (1)
Calculo ii (1)
 
apuntes de java
apuntes de javaapuntes de java
apuntes de java
 
II Unidad
II UnidadII Unidad
II Unidad
 

Mais de erwin_alexander (15)

Unidad 4, investigacion
Unidad 4, investigacionUnidad 4, investigacion
Unidad 4, investigacion
 
Unidad 3, circuito secuencial
Unidad 3, circuito secuencialUnidad 3, circuito secuencial
Unidad 3, circuito secuencial
 
Unidad 2, circuito combinacional
Unidad 2, circuito combinacionalUnidad 2, circuito combinacional
Unidad 2, circuito combinacional
 
Unidad 1, fuente de poder
Unidad 1, fuente de poderUnidad 1, fuente de poder
Unidad 1, fuente de poder
 
ANALISIS DE LOS ALGORITMOS
ANALISIS DE LOS ALGORITMOSANALISIS DE LOS ALGORITMOS
ANALISIS DE LOS ALGORITMOS
 
METODOS DE BUSQUEDA
METODOS DE BUSQUEDAMETODOS DE BUSQUEDA
METODOS DE BUSQUEDA
 
Unidad 5
Unidad 5Unidad 5
Unidad 5
 
Unidad 4
Unidad 4Unidad 4
Unidad 4
 
3.0 estructuras lineales
3.0 estructuras lineales3.0 estructuras lineales
3.0 estructuras lineales
 
1.5 memoria dinamica
1.5 memoria dinamica1.5 memoria dinamica
1.5 memoria dinamica
 
1.4 memoria estatica
1.4 memoria estatica1.4 memoria estatica
1.4 memoria estatica
 
1.3 uso de tipos de datos abstractos
1.3 uso de tipos de datos abstractos1.3 uso de tipos de datos abstractos
1.3 uso de tipos de datos abstractos
 
1.2 modularidad
1.2 modularidad1.2 modularidad
1.2 modularidad
 
1.1 tipos de datos abstractos
1.1 tipos de datos abstractos1.1 tipos de datos abstractos
1.1 tipos de datos abstractos
 
Cálculo vectorial
Cálculo vectorialCálculo vectorial
Cálculo vectorial
 

2.1 recursividad

  • 1. INSTITUTO TECNOLÓGICO SUPERIOR DE FELIPE CARRILLO PUERTO ESTRUCTURA DE DATOS “RECURSIVIDAD” NOMBRE DEL PROFESOR (A): MTI. Niels Henryk Aranda Cuevas. NOMBRE DEL ALUMNO: Erwin Alexander Villegas tun INGENIERÍA EN SISTEMAS COMPUTACIONALES SEMESTRE III GRUPO A AULA J3 FELIPE CARRILLO PUERTO A 10 DE NOVIEMBRE DEL 2014
  • 2. RECURSIVIDAD: El concepto La recursividad es un concepto fundamental en matemáticas y en computación. •Es una alternativa diferente para implementar estructuras de repetición (ciclos). Los módulos se hacen llamadas recursivas. •Se puede usar en toda situación en la cual la solución pueda ser expresada como una secuencia de movimientos, pasos o transformaciones gobernadas por un conjunto de reglas no ambiguas.
  • 3. Procedimientos o funcion recursiva  Caso recursivo: una solución que involucra volver a utilizar la función original, con parámetros que se acercan más al caso base. Los pasos que sigue el caso recursivo son los siguientes:  1.El procedimiento se llama a sí mismo.  2.El problema se resuelve, tratando el mismo problema pero de tamaño menor.  3.La manera en la cual el tamaño del problema disminuye asegura que el caso base eventualmente se alcanzará.
  • 4. Ejemplos de casos recursivos Escribe un programa que calcule el factorial (!) de un entero no negativo. He aquí algunos ejemplos de factoriales: •1! = 1 • 2! = 2 2 * 1 • 3! = 6 3 * 2 * 1 • 4! = 24 4 * 3 * 2 * 1 • 5! = 120 5 * 4 * 3 * 2 * 1
  • 5. Ejemplo: 2 Ejemplo: A continuación se puede ver la secuencia de factoriales. 0! = 1 1! = 1 = 1 * 1 = 1 * 0! 2! = 2 = 2 * 1 = 2 * 1! 3! = 6 = 3 * 2 * 1 = 3 * 2! 4! = 24 = 4 * 3 * 2 * 1 = 4 * 3! 5! = 120 = 5 * 4 * 3 * 2 * 1 = 5 * 4! ... N! = = N * (N – 1)!
  • 6. Valores: 0, 1, 1, 2, 3, 5, 8... Cada término de la serie suma los 2 anteriores. Fórmula recursiva fib(n) = fib (n - 1) + fib (n - 2) Caso base: Fib (0)=0; Fib (1)=1 Caso recursivo: Fib (i) = Fib (i -1) + Fib(i -2) public static int fib(int n){ if (n <= 1) return n; //condición base else return fib(n-1)+fib(n-2); //condición recursiva } Ejemplo: Serie de Fibonacci