SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

Estructuras Selectivas
Estructuras Selectivas Estructuras Selectivas
Estructuras Selectivas Jhonny Zuñiga
 
Multiplicador y divisor
Multiplicador y divisorMultiplicador y divisor
Multiplicador y divisorAlex Vasquez
 
Estructura selectiva simple con Java
Estructura selectiva simple con JavaEstructura selectiva simple con Java
Estructura selectiva simple con JavaNora O. Martínez
 
EJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOSEJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOS1002pc3
 
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
 
El problema del agente viajero resuelto por fuerza, programación dinámica y v...
El problema del agente viajero resuelto por fuerza, programación dinámica y v...El problema del agente viajero resuelto por fuerza, programación dinámica y v...
El problema del agente viajero resuelto por fuerza, programación dinámica y v...Luis Alfredo Moctezuma Pascual
 
Modelo de redes y redes petri
Modelo de redes y redes petriModelo de redes y redes petri
Modelo de redes y redes petriAdan Aguirre
 
Estructuras iterativas1
Estructuras iterativas1Estructuras iterativas1
Estructuras iterativas1Kathy Granizo
 
Compuertas logicas
Compuertas logicasCompuertas logicas
Compuertas logicasJesus Chaux
 
TIPOS DE DATOS PARA C++
TIPOS DE DATOS PARA C++TIPOS DE DATOS PARA C++
TIPOS DE DATOS PARA C++Idalia Tristan
 
Estructura selectiva doble con Java
Estructura selectiva doble con JavaEstructura selectiva doble con Java
Estructura selectiva doble con JavaNora O. Martínez
 
Programación 3: algoritmo de Prim y de Kruskal
Programación 3: algoritmo de Prim y de KruskalProgramación 3: algoritmo de Prim y de Kruskal
Programación 3: algoritmo de Prim y de KruskalAngel Vázquez Patiño
 
Modelos de redes [Investigación de Operacionesr]
Modelos de redes [Investigación de Operacionesr]Modelos de redes [Investigación de Operacionesr]
Modelos de redes [Investigación de Operacionesr]FreddOc
 

Was ist angesagt? (20)

Las clases P NP y NP completo
Las clases P NP y NP completoLas clases P NP y NP completo
Las clases P NP y NP completo
 
Árboles Multicamino, B y B+
Árboles Multicamino, B y B+Árboles Multicamino, B y B+
Árboles Multicamino, B y B+
 
Estructura de Datos - Unidad II Recursividad
Estructura de Datos - Unidad II RecursividadEstructura de Datos - Unidad II Recursividad
Estructura de Datos - Unidad II Recursividad
 
Estructuras Selectivas
Estructuras Selectivas Estructuras Selectivas
Estructuras Selectivas
 
Multiplicador y divisor
Multiplicador y divisorMultiplicador y divisor
Multiplicador y divisor
 
Estructura selectiva simple con Java
Estructura selectiva simple con JavaEstructura selectiva simple con Java
Estructura selectiva simple con Java
 
EJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOSEJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOS
 
Recursividad directa e indirecta
Recursividad directa e indirectaRecursividad directa e indirecta
Recursividad directa e indirecta
 
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
 
El problema del agente viajero resuelto por fuerza, programación dinámica y v...
El problema del agente viajero resuelto por fuerza, programación dinámica y v...El problema del agente viajero resuelto por fuerza, programación dinámica y v...
El problema del agente viajero resuelto por fuerza, programación dinámica y v...
 
Aplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafosAplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafos
 
Modelo de redes y redes petri
Modelo de redes y redes petriModelo de redes y redes petri
Modelo de redes y redes petri
 
Estructuras iterativas1
Estructuras iterativas1Estructuras iterativas1
Estructuras iterativas1
 
T7 Algebra de Boole
T7 Algebra de BooleT7 Algebra de Boole
T7 Algebra de Boole
 
Compuertas logicas
Compuertas logicasCompuertas logicas
Compuertas logicas
 
Notacion Asintotica
Notacion AsintoticaNotacion Asintotica
Notacion Asintotica
 
TIPOS DE DATOS PARA C++
TIPOS DE DATOS PARA C++TIPOS DE DATOS PARA C++
TIPOS DE DATOS PARA C++
 
Estructura selectiva doble con Java
Estructura selectiva doble con JavaEstructura selectiva doble con Java
Estructura selectiva doble con Java
 
Programación 3: algoritmo de Prim y de Kruskal
Programación 3: algoritmo de Prim y de KruskalProgramación 3: algoritmo de Prim y de Kruskal
Programación 3: algoritmo de Prim y de Kruskal
 
Modelos de redes [Investigación de Operacionesr]
Modelos de redes [Investigación de Operacionesr]Modelos de redes [Investigación de Operacionesr]
Modelos de redes [Investigación de Operacionesr]
 

Andere mochten auch

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
 

Andere mochten auch (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
 

Ähnlich wie 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
 
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)
 
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
 

Kürzlich hochgeladen

PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxiemerc2024
 
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
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptxEL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptxsisimosolorzano
 
Abril 2024 - Maestra Jardinera Ediba.pdf
Abril 2024 -  Maestra Jardinera Ediba.pdfAbril 2024 -  Maestra Jardinera Ediba.pdf
Abril 2024 - Maestra Jardinera Ediba.pdfValeriaCorrea29
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxEliaHernndez7
 
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
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOluismii249
 
Diapositivas de animales reptiles secundaria
Diapositivas de animales reptiles secundariaDiapositivas de animales reptiles secundaria
Diapositivas de animales reptiles secundariaAlejandraFelizDidier
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesMarisolMartinez707897
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSYadi Campos
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxroberthirigoinvasque
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...jlorentemartos
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptxRigoTito
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalJonathanCovena1
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfAlfaresbilingual
 
semana 4 9NO Estudios sociales.pptxnnnn
semana 4  9NO Estudios sociales.pptxnnnnsemana 4  9NO Estudios sociales.pptxnnnn
semana 4 9NO Estudios sociales.pptxnnnnlitzyleovaldivieso
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioELIASAURELIOCHAVEZCA1
 

Kürzlich hochgeladen (20)

PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
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
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptxEL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
 
Abril 2024 - Maestra Jardinera Ediba.pdf
Abril 2024 -  Maestra Jardinera Ediba.pdfAbril 2024 -  Maestra Jardinera Ediba.pdf
Abril 2024 - Maestra Jardinera Ediba.pdf
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
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
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
Diapositivas de animales reptiles secundaria
Diapositivas de animales reptiles secundariaDiapositivas de animales reptiles secundaria
Diapositivas de animales reptiles secundaria
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtuales
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
semana 4 9NO Estudios sociales.pptxnnnn
semana 4  9NO Estudios sociales.pptxnnnnsemana 4  9NO Estudios sociales.pptxnnnn
semana 4 9NO Estudios sociales.pptxnnnn
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 

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