SlideShare uma empresa Scribd logo
1 de 12
ALGORITMOS RECURSIVOS  Por: Edwin Armando Solis Espinosa Algoritmos Computacionales
¿Que es un algoritmo recursivo? *Un algoritmo recursivo es una llamada de una funcion desde la misma funcionson recursivos aquellos algoritmos que estan dentro de ellos mismos  son llamados una y otra vez.
Recursividad indirectaun algoritmo recursivo indirecto es cuando una subrutina llama a otra subrutina pero no la llama ella misma sino que la llama otra subrutina formando ciclos.Subrutina_A-> subrutina_B->subrutina_Asubrutina_A -> subrutina_B ->subrutina_C ->subrutina_A
Ejemplo de recursividad indirectaintpar(int n);                    int impar(int n); intpar(int n) { if(n == 0) return 1; returnimpar(n-1); } intimpar(int n) { if(n == 0) return 0; returnpar(n-1); }
Tipos de recursionRECURSIÓN LINEAL : Si cada llamada recursiva genera, como mucho otra llamada recursiva- FINAL : si la llamada recursiva es la última operación que se efectúa, devolviéndose como resultado lo que se haya obtenido de la llamada recursiva sin modificaciónalguna.- NO FINAL : El resultado obtenido de la llamada recursiva se combina para dar lugar al resultado de la función que realiza la llamada.RECURSIÓN MÚLTIPLE : si alguna llamada puedegenerar más de una llamada adicional.
Ejemplo de recursion lineal:{n mayor o igual 0 y m mayor o igual 0}función MCD(n,m:entero)devuelve enterovar r :entero ;opciónn=m : r :=n ;n>m : r :=MCD(n-m,m) ;n<m : r :=MCD(n,m-n) ;fopcióndevuelve rffunción{MCD(n,m) es el maximoentero que divide a n y a m}
EJEMPLO DE RECURSION LINEAL NO FINAL{n mayor o igual 0}función FACT (n:entero)devuelve enterovarr,v :entero ;opciónn=0 : r :=1 ;n>0 : v := FACT(n-1) ;r :=v*n;fopcióndevuelve rffunción{FACT(n)=n+!}
EJEMPLO DE RECURCION MULTIPLERECURSIÓN MÚLTIPLE :{N mayor o igual 0}función Fib(n:entero)devuelve entero ;var r :entero ;opciónn1 : r:=n ;n>1 : r:=Fib(n-1)+Fib(n-2) ;fopcióndevuelve rffunción{Fib(n)=Fibonacci(n)}
Eficacia de la recursividadSe dice que es menos eficaz que la iterativa porque ocupa mas memoria y mayor tiempo de ejecucion pero hace el programa mas sencillo y comprendible.Un programa recursivo se puede transformar en una solucion iterativa mediante el uso de pilas
1 1 Uso de pilaslas pilas se utilizan para el almacenar los valores de los parametros del subprograma , los valores de las variables  y los resultados de la funcionCalculo de 3 factorial. 2 3 2 1 3 3 2 6
Como diseñar un algoritmo recursivo*Determinamos parametros del problema planteado.*Resolvemos los casos triviales.*Minimizamos el caso general en terminos de un caso mas simple.*Se descompone el algoritmo en caso base y caso generalcasos base.-es el caso que se plantea desde el principio y se resuelve sin la recursividadcasos generales.-se utilizan cuando el problema es muy complejo y se utiliza en forma recursiva como lo es1.crear subprogramas.2.se usan pasos adicionales y estos con la ayuda de los subprogramas nos dan el resultado del problema general.
   Algoritmo de divide y          venceras en forma teoricael algoritmo de divide y venceras      consiste en transformar un problema     ´n´ en problemas mas pequeños de tamaños menor que ´n´video de divide y venceras

Mais conteúdo relacionado

Mais procurados

Estructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datosEstructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datosJosé Antonio Sandoval Acosta
 
While y do while
While y do whileWhile y do while
While y do whilejosenassr
 
Ordenamiento en C++
Ordenamiento en C++Ordenamiento en C++
Ordenamiento en C++compumet sac
 
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)Rubi Veronica Chimal Cuxin
 
Analisis de algoritmos complejidad en tiempo y espacio
Analisis de algoritmos complejidad en tiempo y espacioAnalisis de algoritmos complejidad en tiempo y espacio
Analisis de algoritmos complejidad en tiempo y espacioAdamari Cortes
 
Estructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesEstructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesJosé Antonio Sandoval Acosta
 
Formatos de instrucción
Formatos de instrucciónFormatos de instrucción
Formatos de instrucciónSantiago Rozo
 
26.- ALGORITMOS
26.- ALGORITMOS 26.- ALGORITMOS
26.- ALGORITMOS BeverlyMG
 
Inserción,borrado y búsqueda en Arboles Binarios(Java)
Inserción,borrado y búsqueda en Arboles Binarios(Java)Inserción,borrado y búsqueda en Arboles Binarios(Java)
Inserción,borrado y búsqueda en Arboles Binarios(Java)Stalin Eduardo Tusa Vitar
 
Presentacion de circuitos y relacion a la ingenieria de sistemas
Presentacion de circuitos y relacion a la ingenieria de sistemasPresentacion de circuitos y relacion a la ingenieria de sistemas
Presentacion de circuitos y relacion a la ingenieria de sistemasJulio Martinez Valerio
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..NANO-06
 
Tema 10: Evaluación perezosa en Haskell
Tema 10: Evaluación perezosa en HaskellTema 10: Evaluación perezosa en Haskell
Tema 10: Evaluación perezosa en HaskellJosé A. Alonso
 
1.5.1 Representación en memoria estática y dinámica.pptx
1.5.1 Representación en memoria estática y dinámica.pptx1.5.1 Representación en memoria estática y dinámica.pptx
1.5.1 Representación en memoria estática y dinámica.pptxFernando Solis
 
Recursividad Con C#
Recursividad Con C#Recursividad Con C#
Recursividad Con C#rezzaca
 

Mais procurados (20)

Estructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datosEstructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
 
Recursividad
RecursividadRecursividad
Recursividad
 
Funciones recursivas
Funciones recursivasFunciones recursivas
Funciones recursivas
 
While y do while
While y do whileWhile y do while
While y do while
 
Ordenamiento en C++
Ordenamiento en C++Ordenamiento en C++
Ordenamiento en C++
 
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)
 
Analisis de algoritmos complejidad en tiempo y espacio
Analisis de algoritmos complejidad en tiempo y espacioAnalisis de algoritmos complejidad en tiempo y espacio
Analisis de algoritmos complejidad en tiempo y espacio
 
Estructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesEstructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no lineales
 
Estructura de Datos - Unidad II Recursividad
Estructura de Datos - Unidad II RecursividadEstructura de Datos - Unidad II Recursividad
Estructura de Datos - Unidad II Recursividad
 
Formatos de instrucción
Formatos de instrucciónFormatos de instrucción
Formatos de instrucción
 
26.- ALGORITMOS
26.- ALGORITMOS 26.- ALGORITMOS
26.- ALGORITMOS
 
5.2.1 Intercalación.pptx
5.2.1 Intercalación.pptx5.2.1 Intercalación.pptx
5.2.1 Intercalación.pptx
 
Inserción,borrado y búsqueda en Arboles Binarios(Java)
Inserción,borrado y búsqueda en Arboles Binarios(Java)Inserción,borrado y búsqueda en Arboles Binarios(Java)
Inserción,borrado y búsqueda en Arboles Binarios(Java)
 
Presentacion de circuitos y relacion a la ingenieria de sistemas
Presentacion de circuitos y relacion a la ingenieria de sistemasPresentacion de circuitos y relacion a la ingenieria de sistemas
Presentacion de circuitos y relacion a la ingenieria de sistemas
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..
 
Poo clases y relaciones clase04
Poo clases y relaciones clase04Poo clases y relaciones clase04
Poo clases y relaciones clase04
 
Tema 10: Evaluación perezosa en Haskell
Tema 10: Evaluación perezosa en HaskellTema 10: Evaluación perezosa en Haskell
Tema 10: Evaluación perezosa en Haskell
 
Clases y objetos en Java
Clases y objetos en JavaClases y objetos en Java
Clases y objetos en Java
 
1.5.1 Representación en memoria estática y dinámica.pptx
1.5.1 Representación en memoria estática y dinámica.pptx1.5.1 Representación en memoria estática y dinámica.pptx
1.5.1 Representación en memoria estática y dinámica.pptx
 
Recursividad Con C#
Recursividad Con C#Recursividad Con C#
Recursividad Con C#
 

Destaque

RECURSIVIDAD C++
RECURSIVIDAD C++RECURSIVIDAD C++
RECURSIVIDAD C++Ing SC B
 
Tópicos de Big Data - Introducción
Tópicos de Big Data - IntroducciónTópicos de Big Data - Introducción
Tópicos de Big Data - IntroducciónErnesto Mislej
 
Curso de Nivelación de Algoritmos - Clase 1
Curso de Nivelación de Algoritmos - Clase 1Curso de Nivelación de Algoritmos - Clase 1
Curso de Nivelación de Algoritmos - Clase 1Ernesto Mislej
 
Curso de Nivelación de Algoritmos - Clase 2
Curso de Nivelación de Algoritmos - Clase 2Curso de Nivelación de Algoritmos - Clase 2
Curso de Nivelación de Algoritmos - Clase 2Ernesto Mislej
 
Curso de Nivelación de Algoritmos - Clase 3
Curso de Nivelación de Algoritmos - Clase 3Curso de Nivelación de Algoritmos - Clase 3
Curso de Nivelación de Algoritmos - Clase 3Ernesto Mislej
 
Unidad 4 est. dat. recursividad
Unidad 4  est. dat. recursividadUnidad 4  est. dat. recursividad
Unidad 4 est. dat. recursividadrehoscript
 
Estructuras algoritmicas representación
Estructuras algoritmicas representaciónEstructuras algoritmicas representación
Estructuras algoritmicas representaciónBenjamin Medina Ramirez
 
Curso de Nivelación de Algoritmos - Clase 4
Curso de Nivelación de Algoritmos - Clase 4Curso de Nivelación de Algoritmos - Clase 4
Curso de Nivelación de Algoritmos - Clase 4Ernesto Mislej
 
Algoritmo de listas simples completo
Algoritmo de listas simples  completoAlgoritmo de listas simples  completo
Algoritmo de listas simples completoBoris Salleg
 
Fundamentos de programación Java
Fundamentos de programación JavaFundamentos de programación Java
Fundamentos de programación Javaquesada_diego
 
Algoritmos y diagramas de flujos
Algoritmos y diagramas de flujosAlgoritmos y diagramas de flujos
Algoritmos y diagramas de flujosWalter Manero
 

Destaque (20)

Algoritmos recursivos
Algoritmos recursivosAlgoritmos recursivos
Algoritmos recursivos
 
Tecnicas Algoritmicas
Tecnicas AlgoritmicasTecnicas Algoritmicas
Tecnicas Algoritmicas
 
RECURSIVIDAD C++
RECURSIVIDAD C++RECURSIVIDAD C++
RECURSIVIDAD C++
 
Prof. brenda
Prof. brendaProf. brenda
Prof. brenda
 
Mergesort
MergesortMergesort
Mergesort
 
Tópicos de Big Data - Introducción
Tópicos de Big Data - IntroducciónTópicos de Big Data - Introducción
Tópicos de Big Data - Introducción
 
Curso de Nivelación de Algoritmos - Clase 1
Curso de Nivelación de Algoritmos - Clase 1Curso de Nivelación de Algoritmos - Clase 1
Curso de Nivelación de Algoritmos - Clase 1
 
Curso de Nivelación de Algoritmos - Clase 2
Curso de Nivelación de Algoritmos - Clase 2Curso de Nivelación de Algoritmos - Clase 2
Curso de Nivelación de Algoritmos - Clase 2
 
Curso de Nivelación de Algoritmos - Clase 3
Curso de Nivelación de Algoritmos - Clase 3Curso de Nivelación de Algoritmos - Clase 3
Curso de Nivelación de Algoritmos - Clase 3
 
Algoritmo de quicksort
Algoritmo de quicksortAlgoritmo de quicksort
Algoritmo de quicksort
 
Unidad 4 est. dat. recursividad
Unidad 4  est. dat. recursividadUnidad 4  est. dat. recursividad
Unidad 4 est. dat. recursividad
 
Estructuras algoritmicas representación
Estructuras algoritmicas representaciónEstructuras algoritmicas representación
Estructuras algoritmicas representación
 
Curso de Nivelación de Algoritmos - Clase 4
Curso de Nivelación de Algoritmos - Clase 4Curso de Nivelación de Algoritmos - Clase 4
Curso de Nivelación de Algoritmos - Clase 4
 
6.funciones y recursividad en c++
6.funciones y recursividad en c++6.funciones y recursividad en c++
6.funciones y recursividad en c++
 
2.1 recursividad
2.1 recursividad2.1 recursividad
2.1 recursividad
 
Algoritmo de listas simples completo
Algoritmo de listas simples  completoAlgoritmo de listas simples  completo
Algoritmo de listas simples completo
 
Algoritmo para lavarse las manos
Algoritmo para lavarse las manosAlgoritmo para lavarse las manos
Algoritmo para lavarse las manos
 
Fundamentos de programación Java
Fundamentos de programación JavaFundamentos de programación Java
Fundamentos de programación Java
 
Algoritmos y diagramas de flujos
Algoritmos y diagramas de flujosAlgoritmos y diagramas de flujos
Algoritmos y diagramas de flujos
 
Funciones en C
Funciones en CFunciones en C
Funciones en C
 

Semelhante a Algoritmos recursivos (20)

Funciones recursivas en C++
Funciones recursivas en C++Funciones recursivas en C++
Funciones recursivas en C++
 
Recursión
RecursiónRecursión
Recursión
 
Recursividad 100329105433-phpapp01
Recursividad 100329105433-phpapp01Recursividad 100329105433-phpapp01
Recursividad 100329105433-phpapp01
 
Curso recursividad
Curso   recursividadCurso   recursividad
Curso recursividad
 
03 tda1 t2018
03 tda1 t201803 tda1 t2018
03 tda1 t2018
 
recursividadexposicion1-090727182853-phpapp01.ppt
recursividadexposicion1-090727182853-phpapp01.pptrecursividadexposicion1-090727182853-phpapp01.ppt
recursividadexposicion1-090727182853-phpapp01.ppt
 
2 clase 1_recursividad
2 clase 1_recursividad2 clase 1_recursividad
2 clase 1_recursividad
 
Informe Tecnico recursividad
Informe Tecnico recursividadInforme Tecnico recursividad
Informe Tecnico recursividad
 
Recursividad.pdf
Recursividad.pdfRecursividad.pdf
Recursividad.pdf
 
recursividad.pptx
recursividad.pptxrecursividad.pptx
recursividad.pptx
 
recursividad EN PROGRAMACION ORIENTADA .pptx
recursividad EN PROGRAMACION ORIENTADA .pptxrecursividad EN PROGRAMACION ORIENTADA .pptx
recursividad EN PROGRAMACION ORIENTADA .pptx
 
Recursividad3
Recursividad3Recursividad3
Recursividad3
 
La_Recursividad.pptx
La_Recursividad.pptxLa_Recursividad.pptx
La_Recursividad.pptx
 
Modulo4
Modulo4Modulo4
Modulo4
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Catalan
CatalanCatalan
Catalan
 
FUNCIONES LENGUAJE C
FUNCIONES LENGUAJE CFUNCIONES LENGUAJE C
FUNCIONES LENGUAJE C
 
11 Funciones
11 Funciones11 Funciones
11 Funciones
 
11funciones 1231096290787715-2
11funciones 1231096290787715-211funciones 1231096290787715-2
11funciones 1231096290787715-2
 

Último

prostitución en España: una mirada integral!
prostitución en España: una mirada integral!prostitución en España: una mirada integral!
prostitución en España: una mirada integral!CatalinaAlfaroChryso
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptAlberto Rubio
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIAFabiolaGarcia751855
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024IES Vicent Andres Estelles
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCCarlosEduardoSosa2
 
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdfPROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdfEduardoJosVargasCama1
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Juan Martín Martín
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024IES Vicent Andres Estelles
 
PLAN LECTOR 2024 integrado nivel inicial-miercoles 10.pptx
PLAN LECTOR 2024  integrado nivel inicial-miercoles 10.pptxPLAN LECTOR 2024  integrado nivel inicial-miercoles 10.pptx
PLAN LECTOR 2024 integrado nivel inicial-miercoles 10.pptxCamuchaCrdovaAlonso
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOluismii249
 
Actividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docxActividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docxpaogar2178
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxlclcarmen
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxroberthirigoinvasque
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalJonathanCovena1
 
Desarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por ValoresDesarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por ValoresJonathanCovena1
 

Último (20)

prostitución en España: una mirada integral!
prostitución en España: una mirada integral!prostitución en España: una mirada integral!
prostitución en España: una mirada integral!
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
 
Los dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la VerdadLos dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la Verdad
 
Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdfPROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
PLAN LECTOR 2024 integrado nivel inicial-miercoles 10.pptx
PLAN LECTOR 2024  integrado nivel inicial-miercoles 10.pptxPLAN LECTOR 2024  integrado nivel inicial-miercoles 10.pptx
PLAN LECTOR 2024 integrado nivel inicial-miercoles 10.pptx
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
Actividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docxActividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docx
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
Desarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por ValoresDesarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por Valores
 

Algoritmos recursivos

  • 1. ALGORITMOS RECURSIVOS Por: Edwin Armando Solis Espinosa Algoritmos Computacionales
  • 2. ¿Que es un algoritmo recursivo? *Un algoritmo recursivo es una llamada de una funcion desde la misma funcionson recursivos aquellos algoritmos que estan dentro de ellos mismos son llamados una y otra vez.
  • 3. Recursividad indirectaun algoritmo recursivo indirecto es cuando una subrutina llama a otra subrutina pero no la llama ella misma sino que la llama otra subrutina formando ciclos.Subrutina_A-> subrutina_B->subrutina_Asubrutina_A -> subrutina_B ->subrutina_C ->subrutina_A
  • 4. Ejemplo de recursividad indirectaintpar(int n); int impar(int n); intpar(int n) { if(n == 0) return 1; returnimpar(n-1); } intimpar(int n) { if(n == 0) return 0; returnpar(n-1); }
  • 5. Tipos de recursionRECURSIÓN LINEAL : Si cada llamada recursiva genera, como mucho otra llamada recursiva- FINAL : si la llamada recursiva es la última operación que se efectúa, devolviéndose como resultado lo que se haya obtenido de la llamada recursiva sin modificaciónalguna.- NO FINAL : El resultado obtenido de la llamada recursiva se combina para dar lugar al resultado de la función que realiza la llamada.RECURSIÓN MÚLTIPLE : si alguna llamada puedegenerar más de una llamada adicional.
  • 6. Ejemplo de recursion lineal:{n mayor o igual 0 y m mayor o igual 0}función MCD(n,m:entero)devuelve enterovar r :entero ;opciónn=m : r :=n ;n>m : r :=MCD(n-m,m) ;n<m : r :=MCD(n,m-n) ;fopcióndevuelve rffunción{MCD(n,m) es el maximoentero que divide a n y a m}
  • 7. EJEMPLO DE RECURSION LINEAL NO FINAL{n mayor o igual 0}función FACT (n:entero)devuelve enterovarr,v :entero ;opciónn=0 : r :=1 ;n>0 : v := FACT(n-1) ;r :=v*n;fopcióndevuelve rffunción{FACT(n)=n+!}
  • 8. EJEMPLO DE RECURCION MULTIPLERECURSIÓN MÚLTIPLE :{N mayor o igual 0}función Fib(n:entero)devuelve entero ;var r :entero ;opciónn1 : r:=n ;n>1 : r:=Fib(n-1)+Fib(n-2) ;fopcióndevuelve rffunción{Fib(n)=Fibonacci(n)}
  • 9. Eficacia de la recursividadSe dice que es menos eficaz que la iterativa porque ocupa mas memoria y mayor tiempo de ejecucion pero hace el programa mas sencillo y comprendible.Un programa recursivo se puede transformar en una solucion iterativa mediante el uso de pilas
  • 10. 1 1 Uso de pilaslas pilas se utilizan para el almacenar los valores de los parametros del subprograma , los valores de las variables y los resultados de la funcionCalculo de 3 factorial. 2 3 2 1 3 3 2 6
  • 11. Como diseñar un algoritmo recursivo*Determinamos parametros del problema planteado.*Resolvemos los casos triviales.*Minimizamos el caso general en terminos de un caso mas simple.*Se descompone el algoritmo en caso base y caso generalcasos base.-es el caso que se plantea desde el principio y se resuelve sin la recursividadcasos generales.-se utilizan cuando el problema es muy complejo y se utiliza en forma recursiva como lo es1.crear subprogramas.2.se usan pasos adicionales y estos con la ayuda de los subprogramas nos dan el resultado del problema general.
  • 12. Algoritmo de divide y venceras en forma teoricael algoritmo de divide y venceras consiste en transformar un problema ´n´ en problemas mas pequeños de tamaños menor que ´n´video de divide y venceras