SlideShare una empresa de Scribd logo
1 de 22
Recursividad
UNIDAD 3
ING. ALVARO ENRIQUE RUANO
Contenido
● Recursividad
● Métodos Recursivos
● Tipos de Recursividad
o Recursividad Directa
o Recursividad Indirecta
● Resolución de problemas utilizando
Recursividad
Recursividad
Es una forma de especificar un proceso
basado en su propia definición.
Un algoritmo recursivo es un algoritmo que
expresa la solución de un problema en
términos de una llamada a sí mismo. La
llamada a sí mismo se conoce como llamada
recursiva.
También llamada Recurrencia o Recursión.
Recursividad
Ejemplos de recursividad.
Recursividad
Un ejemplo matemático de recursividad es el estudio de
fractales, por ejemplo el Triángulo de Sierpinski.
Recursividad
Otro ejemplo matemático de recursividad es la función
“factorial”.
Recursividad
● Como ya es conocido, en el contexto del
desarrollo de software, un método puede
llamar a cualquier otro método y éste a otro
(llamadas anidadas):
● Al finalizar la ejecución de cada uno de los
métodos obtendremos una cadena de retornos:
Recursividad
● ¿Qué sucede si dos métodos en una secuencia de
llamadas son los mismos?
● ¿Es esto correcto?
o Sí es correcto. La gran mayoría de lenguajes de
programación, desde los tiempos de C y Pascal,
permiten que un método se pueda llamar a sí mismo.
Métodos Recursivos
● Un método (función o procedimiento) que puede
llamarse a sí mismo se llama método recursivo.
● La escritura de un método recursivo es similar a la
escritura de su homónimo no recursivo.
● El único requisito en un método recursivo es la
especificación de una condición de terminación
(caso base), la cual permita acabar con la
recursividad.
Métodos Recursivos
● La recursión puede ser utilizada como una alternativa
a la repetición o estructura repetitiva.
● La utilización de métodos recursivos es una
herramienta muy potente en algunas aplicaciones,
sobre todo científicas y matemáticas.
● El uso de recursión es particularmente idóneo para la
solución de aquellos problemas que pueden definirse
de modo natural en términos recursivos.
Métodos Recursivos
Ejemplo de creación de un método recursivo: Función Factorial
La ejecución del
método creado
anteriormente se
daría de la
siguiente forma:
Métodos Recursivos
Tipos de Recursividad
Existen dos tipos de recursividad:
Directa: Es la más común, se da cuando una función se
llama a sí misma una o varias veces.
Indirecta: Se da cuando una función es llamada de
manera indirecta, es decir, por medio de otra función.
Resolución de problemas
Resolver problema de Fibonacci.
Resolución de problemas
Solución al problema de Fibonacci.
Resolución de problemas
Diseñar un método que calcule la potencia
de un número real elevado a un entero.
Resolución de problemas
Solución al problema de Potencia.
Resolución de problemas
Escribir un método que calcule la suma de
los N primeros número naturales.
Resolución de problemas
Solución al problema de Suma Naturales.
Resolución de problemas
Realiza un programa que solicite al usuario un
número y muestra en pantalla si el número es
par o impar. Para este ejercicio debes crear una o
varias funciones recursivas que determinen si el
número es par o impar.
Resolución de problemas
Solución al problema de Par/Impar.
Gracias por su atención

Más contenido relacionado

La actualidad más candente

Cuadro sinóptico estructuras de datos y su clasificación
Cuadro sinóptico   estructuras de datos y su clasificaciónCuadro sinóptico   estructuras de datos y su clasificación
Cuadro sinóptico estructuras de datos y su clasificaciónAlex Uhu Colli
 
Memoria dinamica
Memoria dinamicaMemoria dinamica
Memoria dinamicagusolis93
 
Pilas como estructura de datos..
Pilas como estructura de datos..Pilas como estructura de datos..
Pilas como estructura de datos..NANO-06
 
Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoJosé Antonio Sandoval Acosta
 
Notación infija postfija
Notación infija postfijaNotación infija postfija
Notación infija postfijaOmarzingm
 
Colas en programacion
Colas en programacionColas en programacion
Colas en programacionLuis Igoodbad
 
Recursividad
RecursividadRecursividad
Recursividadbetzy
 
Programación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructoresProgramación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructoresAlvaro Enrique Ruano
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacionalclaudyabra
 
Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,
Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,
Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,Miguel Brunings
 
Memoria Estatica
Memoria EstaticaMemoria Estatica
Memoria EstaticaJ M
 
Normalizacion de base de datos
Normalizacion de base de datosNormalizacion de base de datos
Normalizacion de base de datosSergio Sanchez
 
Arreglos Bidimensionales - Java - NetBeans
Arreglos Bidimensionales - Java - NetBeansArreglos Bidimensionales - Java - NetBeans
Arreglos Bidimensionales - Java - NetBeansDaniel Gómez
 
Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoTAtiizz Villalobos
 
Arreglos o dimensiones en pseint
Arreglos o dimensiones en pseintArreglos o dimensiones en pseint
Arreglos o dimensiones en pseintDon Augusto
 

La actualidad más candente (20)

Cuadro sinóptico estructuras de datos y su clasificación
Cuadro sinóptico   estructuras de datos y su clasificaciónCuadro sinóptico   estructuras de datos y su clasificación
Cuadro sinóptico estructuras de datos y su clasificación
 
Memoria dinamica
Memoria dinamicaMemoria dinamica
Memoria dinamica
 
Ejercicios
EjerciciosEjercicios
Ejercicios
 
Pilas como estructura de datos..
Pilas como estructura de datos..Pilas como estructura de datos..
Pilas como estructura de datos..
 
Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamiento
 
Notación infija postfija
Notación infija postfijaNotación infija postfija
Notación infija postfija
 
Colas en programacion
Colas en programacionColas en programacion
Colas en programacion
 
Recursividad
RecursividadRecursividad
Recursividad
 
Programación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructoresProgramación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructores
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Arboles Binarios
Arboles BinariosArboles Binarios
Arboles Binarios
 
Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,
Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,
Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,
 
Memoria Estatica
Memoria EstaticaMemoria Estatica
Memoria Estatica
 
Normalizacion de base de datos
Normalizacion de base de datosNormalizacion de base de datos
Normalizacion de base de datos
 
Colas
ColasColas
Colas
 
Arreglos Bidimensionales - Java - NetBeans
Arreglos Bidimensionales - Java - NetBeansArreglos Bidimensionales - Java - NetBeans
Arreglos Bidimensionales - Java - NetBeans
 
Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamiento
 
Tipos de datos abstractos
Tipos de datos abstractosTipos de datos abstractos
Tipos de datos abstractos
 
Arreglos o dimensiones en pseint
Arreglos o dimensiones en pseintArreglos o dimensiones en pseint
Arreglos o dimensiones en pseint
 

Similar a Recursividad guía (20)

La_Recursividad.pptx
La_Recursividad.pptxLa_Recursividad.pptx
La_Recursividad.pptx
 
Recursividad
RecursividadRecursividad
Recursividad
 
Recursividad en POO - Java
Recursividad en POO - JavaRecursividad en POO - Java
Recursividad en POO - Java
 
Recursividad en Java
Recursividad en JavaRecursividad en Java
Recursividad en Java
 
Programas_Recursivos.pptx
Programas_Recursivos.pptxProgramas_Recursivos.pptx
Programas_Recursivos.pptx
 
Recursividad 100329105433-phpapp01
Recursividad 100329105433-phpapp01Recursividad 100329105433-phpapp01
Recursividad 100329105433-phpapp01
 
Algoritmos recursivos
Algoritmos recursivosAlgoritmos recursivos
Algoritmos recursivos
 
recursividad
recursividadrecursividad
recursividad
 
Recursividad
RecursividadRecursividad
Recursividad
 
2. Recursividad
2. Recursividad2. Recursividad
2. Recursividad
 
Recursividad
RecursividadRecursividad
Recursividad
 
Recursividad
RecursividadRecursividad
Recursividad
 
Esquema algorítmico del backtracking
Esquema algorítmico del  backtrackingEsquema algorítmico del  backtracking
Esquema algorítmico del backtracking
 
Esquema algorítmico del backtracking
Esquema algorítmico del  backtrackingEsquema algorítmico del  backtracking
Esquema algorítmico del backtracking
 
Problemas NP
Problemas NPProblemas NP
Problemas NP
 
Estructura de datos - Unidad 2: Recursividad
Estructura de datos - Unidad 2: Recursividad Estructura de datos - Unidad 2: Recursividad
Estructura de datos - Unidad 2: Recursividad
 
recursividadexposicion1-090727182853-phpapp01.ppt
recursividadexposicion1-090727182853-phpapp01.pptrecursividadexposicion1-090727182853-phpapp01.ppt
recursividadexposicion1-090727182853-phpapp01.ppt
 
Informe Técnico - Recursividad Unidad 2 (Rubi Veronica)
Informe Técnico - Recursividad Unidad 2 (Rubi Veronica)Informe Técnico - Recursividad Unidad 2 (Rubi Veronica)
Informe Técnico - Recursividad Unidad 2 (Rubi Veronica)
 
Recursividad2019
Recursividad2019Recursividad2019
Recursividad2019
 
Complejidad Computacional o Algoritmica
Complejidad Computacional o AlgoritmicaComplejidad Computacional o Algoritmica
Complejidad Computacional o Algoritmica
 

Más de Alvaro Enrique Ruano

Otras estructuras de datos (heap, tablas hash y diccionarios)
Otras estructuras de datos (heap, tablas hash y diccionarios)Otras estructuras de datos (heap, tablas hash y diccionarios)
Otras estructuras de datos (heap, tablas hash y diccionarios)Alvaro Enrique Ruano
 
Introducción al análisis de algoritmos
Introducción al  análisis de algoritmosIntroducción al  análisis de algoritmos
Introducción al análisis de algoritmosAlvaro Enrique Ruano
 
Ordenamientos por selección y Shell
Ordenamientos por selección y ShellOrdenamientos por selección y Shell
Ordenamientos por selección y ShellAlvaro Enrique Ruano
 
Ordenamientos burbuja e inserción
Ordenamientos burbuja e inserciónOrdenamientos burbuja e inserción
Ordenamientos burbuja e inserciónAlvaro Enrique Ruano
 
Programación Orientada a Objetos - Otras relaciones entre clases
Programación Orientada a Objetos - Otras relaciones entre clasesProgramación Orientada a Objetos - Otras relaciones entre clases
Programación Orientada a Objetos - Otras relaciones entre clasesAlvaro Enrique Ruano
 
Programación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismoProgramación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismoAlvaro Enrique Ruano
 
Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosAlvaro Enrique Ruano
 
Análisis de una inversión en activos financieros negociados por medio de la B...
Análisis de una inversión en activos financieros negociados por medio de la B...Análisis de una inversión en activos financieros negociados por medio de la B...
Análisis de una inversión en activos financieros negociados por medio de la B...Alvaro Enrique Ruano
 
Solución de problemas y ciclo de vida del desarrollo de software
Solución de problemas y ciclo de vida del desarrollo de softwareSolución de problemas y ciclo de vida del desarrollo de software
Solución de problemas y ciclo de vida del desarrollo de softwareAlvaro Enrique Ruano
 

Más de Alvaro Enrique Ruano (16)

Resumen caso Enron
Resumen caso EnronResumen caso Enron
Resumen caso Enron
 
Otras estructuras de datos (heap, tablas hash y diccionarios)
Otras estructuras de datos (heap, tablas hash y diccionarios)Otras estructuras de datos (heap, tablas hash y diccionarios)
Otras estructuras de datos (heap, tablas hash y diccionarios)
 
Árboles Multicamino, B y B+
Árboles Multicamino, B y B+Árboles Multicamino, B y B+
Árboles Multicamino, B y B+
 
Árboles binarios, ABB y AVL
Árboles binarios, ABB y AVLÁrboles binarios, ABB y AVL
Árboles binarios, ABB y AVL
 
Estructuras de datos lineales
Estructuras de datos linealesEstructuras de datos lineales
Estructuras de datos lineales
 
Introducción al análisis de algoritmos
Introducción al  análisis de algoritmosIntroducción al  análisis de algoritmos
Introducción al análisis de algoritmos
 
Ordenamientos rápido y mezcla
Ordenamientos rápido y mezclaOrdenamientos rápido y mezcla
Ordenamientos rápido y mezcla
 
Ordenamientos por selección y Shell
Ordenamientos por selección y ShellOrdenamientos por selección y Shell
Ordenamientos por selección y Shell
 
Ordenamientos burbuja e inserción
Ordenamientos burbuja e inserciónOrdenamientos burbuja e inserción
Ordenamientos burbuja e inserción
 
Programación Orientada a Objetos - Otras relaciones entre clases
Programación Orientada a Objetos - Otras relaciones entre clasesProgramación Orientada a Objetos - Otras relaciones entre clases
Programación Orientada a Objetos - Otras relaciones entre clases
 
Programación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismoProgramación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismo
 
Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodos
 
Paradigmas de programación
Paradigmas de programaciónParadigmas de programación
Paradigmas de programación
 
Técnicas de programación
Técnicas de programaciónTécnicas de programación
Técnicas de programación
 
Análisis de una inversión en activos financieros negociados por medio de la B...
Análisis de una inversión en activos financieros negociados por medio de la B...Análisis de una inversión en activos financieros negociados por medio de la B...
Análisis de una inversión en activos financieros negociados por medio de la B...
 
Solución de problemas y ciclo de vida del desarrollo de software
Solución de problemas y ciclo de vida del desarrollo de softwareSolución de problemas y ciclo de vida del desarrollo de software
Solución de problemas y ciclo de vida del desarrollo de software
 

Recursividad guía