SlideShare una empresa de Scribd logo
1 de 19
RECURSIVIDAD
III
CON PYTHON
Mgtr. Oscar J. Flores Gutierrez
RECURSIVIDAD
PRINCIPIO RECURSIVO
(Divide y vencerás)
Un problema que pueda definirse en función de su tamaño, sea este N,
puede dividirse en instancias más pequeñas (< N) del mismo problema.
y se conocerá la solución explícita a las instancias más simples, lo que
se conoce como casos base, y se puede aplicar inducción sobre las
llamadas más pequeñas y suponer que estas quedan resueltas
RECURSIVIDAD EN COMPUTACIÓN
Es el proceso mediante el cual una función se invoca a
si misma de forma repetitiva. Hasta que cumpla
determinada condición.
La recursión es un potente concepto con el que se
pueden expresar ciertos procedimientos de
cálculo muy elegantemente.
EJEMPLO:
• Factorial recursivo:
• Partiendo de la premisa:
• Es una definición de factorial un tanto curiosa:
• ¡se define en términos de sı misma!
• El segundo de sus dos casos dice que para conocer el factorial de n hay que conocer el factorial de
n − 1 y multiplicarlo por n.
• Entonces, ¿como calculamos el factorial de n−1?
• En principio, conociendo antes el valor del factorial de n−2 y multiplicando ese valor por n−1. ¿Y el de n−2? Pues del mismo
modo. . .
• y ası hasta que acabemos por preguntarnos cuanto vale el factorial de 1
• 1! vale 1.
• resultado =1
• def factorial(n):
• if n == 0 or n == 1:
• resultado = 1
• else:
• if n > 1:
• resultado = n * factorial(n-1)
• return resultado
COMBINATORIA
• Se entiende por combinatoria sin repetición, a los diferentes
conjuntos que se pueden formar con «n» elementos, seleccionados
de x en x.
• Cada conjunto se debe diferenciar del anterior en al menos uno de
sus elementos (el orden no importa) y estos no se pueden repetir.
•n = Observaciones totales
•x = Número de elementos seleccionados
COMBINATORIA
• EJEMPLO un alumno que tiene un examen de 4 preguntas. De las 4 preguntas ha de elegir tres
¿Cuántas combinaciones distintas podría realizar el alumno? Si razonamos un poco veríamos (sin
llegar a aplicar la fórmula) que el alumno podría elegir cómo contestar a las 3 preguntas de cuatro
formas distintas.
• Conjunto/opción 1: Contestar las preguntas 1,2,3.
• Conjunto/opción 2: Contestar las preguntas 1,2,4.
• Conjunto/opción 3: Contestar las preguntas 1,3,4.
• Conjunto/opción 4: Contestar las preguntas 2,3,4.
• El alumno puede formar 4 conjuntos (n) de 3 elementos (x). Por lo tanto, la combinatoria sin
repetición nos dice cómo formar o agrupar una cantidad de datos/observaciones finita, en grupos
de una cantidad determinada sin que ninguno de los elementos pueda repetirse en cada grupo.
• _ 4!___
• 3! (4-3)!
•n = Observaciones totales
•x = Número de elementos seleccionados
_ 4 * 3!___
3! * 1!
_ 4 ___
1 4
COMBINATORIA
• n = 12
• x = 2
• Al sustituir:
• Aplicando el factorial para el denominador, tendríamos
12*11*10*…*1 = 479.001.600. Para el denominador tenemos
2*1*10*9*8…*1 = 7.257.600. Nuestro número combinatorio es
=479.001.600/7.257.600 = 66.
NÚMEROS CATALANES
• En una matriz 2x2 ¿Cuantos posibles camino hay para ir de un vértice a
otro. Sin sobrepasar la diagonal y moviéndose de a la derecha -> y
arriba ↑ ?
• DADA
• DDAA
NÚMEROS CATALANES
• En una matriz 3x3 ¿Cuantos posibles camino hay para ir de un
vértice a otro. Sin sobrepasar la diagonal y moviéndose de a la
derecha -> y arriba ↑ ?
• DDDAAA
• DDADAA
• DDAADA
DADDAA
DADADA
• Y con una matriz de 4x4
• ¿Y EN UNA MATRIZ DE 20X20?
Números de Catalan
• En combinatoria, los números de Catalan forman una secuencia de
números naturales que aparece en varios problemas de conteo que
habitualmente son recursivos. Obtienen su nombre del matemático
belga Eugène Charles Catalan (1814–1894).
• El n-ésimo número de Catalan se obtiene, aplicando coeficientes
binomiales, a partir de la siguiente fórmula
Tarea 1
• Investigar y exponer
• ( la siguiente sesion ) sobre el algoritmo RECURSIVO de Ackerman .
• La resolucion de alguna ejercicio al azar de la Tarea 2
• La nota es en razon de la calidad de explicacion (con tablas de
verificacion (a mano) ).
• Se escoger algun es
Tarea 2
• Resolver las ejercicios de la practica
• Previamente probar las actividades
BIBLIOGRAFOA
Introducción a la programación con Python , 2003 ,- Andres Marzal e Isabel Gracia
G

Más contenido relacionado

Similar a 3.1 Recursividad3 ok.pptx

Guía de matemáticas primero bloque 1- ejercicios
Guía de matemáticas primero bloque 1- ejerciciosGuía de matemáticas primero bloque 1- ejercicios
Guía de matemáticas primero bloque 1- ejerciciosJEDANNIE Apellidos
 
8. guia de matemática no 3 estructura aditiva - multiplicativa - ecuaciones...
8. guia de matemática no 3   estructura aditiva - multiplicativa - ecuaciones...8. guia de matemática no 3   estructura aditiva - multiplicativa - ecuaciones...
8. guia de matemática no 3 estructura aditiva - multiplicativa - ecuaciones...Maritza Méndez Reina
 
Unidad 1 matematicas quinto
Unidad 1 matematicas quintoUnidad 1 matematicas quinto
Unidad 1 matematicas quintoDFERNANDA1
 
Ecuaciones Fraccionarias Literales Y ecuaciones Cuadraticas
Ecuaciones Fraccionarias Literales Y ecuaciones CuadraticasEcuaciones Fraccionarias Literales Y ecuaciones Cuadraticas
Ecuaciones Fraccionarias Literales Y ecuaciones CuadraticasCarmita Etel Ponce
 
Numeros Naturales Y Enteros
Numeros Naturales Y EnterosNumeros Naturales Y Enteros
Numeros Naturales Y Enterosb3m27i7b15
 
Matematicas del tema 1 al 15 by veronica 6 C hbs
Matematicas del tema 1 al 15 by veronica 6 C hbsMatematicas del tema 1 al 15 by veronica 6 C hbs
Matematicas del tema 1 al 15 by veronica 6 C hbsVeronica de la Flor
 
Clases de matemáticas semana 4 a la 6
Clases de matemáticas semana 4 a la 6Clases de matemáticas semana 4 a la 6
Clases de matemáticas semana 4 a la 6Isha Mtz
 
Expresiones Algebraicas.pptx
Expresiones Algebraicas.pptxExpresiones Algebraicas.pptx
Expresiones Algebraicas.pptxluisurdanetalfur
 
Unidad diagnóstica 6to grado matematica
Unidad diagnóstica 6to grado matematicaUnidad diagnóstica 6to grado matematica
Unidad diagnóstica 6to grado matematicaMaria Ines Martinez
 
Operaciones entre reales
Operaciones entre realesOperaciones entre reales
Operaciones entre realesromanmunoz1
 
Unidad nº1 naturales 1º ciclo básico
Unidad nº1 naturales 1º ciclo básicoUnidad nº1 naturales 1º ciclo básico
Unidad nº1 naturales 1º ciclo básicomatematicacbcolonia
 
Guía n° 13 Sistema de Ecuaciones lineales Metodo Iguación y cramer.pptx
Guía n° 13 Sistema de Ecuaciones lineales Metodo Iguación y cramer.pptxGuía n° 13 Sistema de Ecuaciones lineales Metodo Iguación y cramer.pptx
Guía n° 13 Sistema de Ecuaciones lineales Metodo Iguación y cramer.pptxpamela valentina peña gutierrez
 

Similar a 3.1 Recursividad3 ok.pptx (20)

Guía primero bloque 1
Guía primero bloque 1Guía primero bloque 1
Guía primero bloque 1
 
Algebra
AlgebraAlgebra
Algebra
 
Guía de matemáticas primero bloque 1- ejercicios
Guía de matemáticas primero bloque 1- ejerciciosGuía de matemáticas primero bloque 1- ejercicios
Guía de matemáticas primero bloque 1- ejercicios
 
8. guia de matemática no 3 estructura aditiva - multiplicativa - ecuaciones...
8. guia de matemática no 3   estructura aditiva - multiplicativa - ecuaciones...8. guia de matemática no 3   estructura aditiva - multiplicativa - ecuaciones...
8. guia de matemática no 3 estructura aditiva - multiplicativa - ecuaciones...
 
Tipos de problemas
Tipos de problemasTipos de problemas
Tipos de problemas
 
Unidad 1 matematicas quinto
Unidad 1 matematicas quintoUnidad 1 matematicas quinto
Unidad 1 matematicas quinto
 
Ecuaciones Fraccionarias Literales Y ecuaciones Cuadraticas
Ecuaciones Fraccionarias Literales Y ecuaciones CuadraticasEcuaciones Fraccionarias Literales Y ecuaciones Cuadraticas
Ecuaciones Fraccionarias Literales Y ecuaciones Cuadraticas
 
Numeros Naturales Y Enteros
Numeros Naturales Y EnterosNumeros Naturales Y Enteros
Numeros Naturales Y Enteros
 
Módulo 3. ecuaciones lineales
Módulo 3. ecuaciones linealesMódulo 3. ecuaciones lineales
Módulo 3. ecuaciones lineales
 
Matematicas del tema 1 al 15 by veronica 6 C hbs
Matematicas del tema 1 al 15 by veronica 6 C hbsMatematicas del tema 1 al 15 by veronica 6 C hbs
Matematicas del tema 1 al 15 by veronica 6 C hbs
 
Clases de matemáticas semana 4 a la 6
Clases de matemáticas semana 4 a la 6Clases de matemáticas semana 4 a la 6
Clases de matemáticas semana 4 a la 6
 
Expresiones Algebraicas.pptx
Expresiones Algebraicas.pptxExpresiones Algebraicas.pptx
Expresiones Algebraicas.pptx
 
Unidad diagnóstica 6to grado matematica
Unidad diagnóstica 6to grado matematicaUnidad diagnóstica 6to grado matematica
Unidad diagnóstica 6to grado matematica
 
Unidad diagnóstica 6to grado
Unidad diagnóstica 6to gradoUnidad diagnóstica 6to grado
Unidad diagnóstica 6to grado
 
ALGEBRA UNIVERSAL
ALGEBRA UNIVERSALALGEBRA UNIVERSAL
ALGEBRA UNIVERSAL
 
Matematicas.pdf
Matematicas.pdfMatematicas.pdf
Matematicas.pdf
 
Operaciones entre reales
Operaciones entre realesOperaciones entre reales
Operaciones entre reales
 
Unidad nº1 naturales 1º ciclo básico
Unidad nº1 naturales 1º ciclo básicoUnidad nº1 naturales 1º ciclo básico
Unidad nº1 naturales 1º ciclo básico
 
Guía n° 13 Sistema de Ecuaciones lineales Metodo Iguación y cramer.pptx
Guía n° 13 Sistema de Ecuaciones lineales Metodo Iguación y cramer.pptxGuía n° 13 Sistema de Ecuaciones lineales Metodo Iguación y cramer.pptx
Guía n° 13 Sistema de Ecuaciones lineales Metodo Iguación y cramer.pptx
 
3restos numero
3restos numero3restos numero
3restos numero
 

Más de bypika

Rol de Enfermería en el cuidado del niño..pptx
Rol de Enfermería en el cuidado del niño..pptxRol de Enfermería en el cuidado del niño..pptx
Rol de Enfermería en el cuidado del niño..pptxbypika
 
SONIA.pptx
SONIA.pptxSONIA.pptx
SONIA.pptxbypika
 
Mary Isabel.pptx
Mary Isabel.pptxMary Isabel.pptx
Mary Isabel.pptxbypika
 
SONIA.pptx
SONIA.pptxSONIA.pptx
SONIA.pptxbypika
 
Dominio 8.pptx
Dominio 8.pptxDominio 8.pptx
Dominio 8.pptxbypika
 
Taller peso y talla.pptx
Taller peso y talla.pptxTaller peso y talla.pptx
Taller peso y talla.pptxbypika
 
Trastornos del afecto.pptx
Trastornos del afecto.pptxTrastornos del afecto.pptx
Trastornos del afecto.pptxbypika
 

Más de bypika (7)

Rol de Enfermería en el cuidado del niño..pptx
Rol de Enfermería en el cuidado del niño..pptxRol de Enfermería en el cuidado del niño..pptx
Rol de Enfermería en el cuidado del niño..pptx
 
SONIA.pptx
SONIA.pptxSONIA.pptx
SONIA.pptx
 
Mary Isabel.pptx
Mary Isabel.pptxMary Isabel.pptx
Mary Isabel.pptx
 
SONIA.pptx
SONIA.pptxSONIA.pptx
SONIA.pptx
 
Dominio 8.pptx
Dominio 8.pptxDominio 8.pptx
Dominio 8.pptx
 
Taller peso y talla.pptx
Taller peso y talla.pptxTaller peso y talla.pptx
Taller peso y talla.pptx
 
Trastornos del afecto.pptx
Trastornos del afecto.pptxTrastornos del afecto.pptx
Trastornos del afecto.pptx
 

Último

Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 

Último (11)

Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 

3.1 Recursividad3 ok.pptx

  • 2. RECURSIVIDAD PRINCIPIO RECURSIVO (Divide y vencerás) Un problema que pueda definirse en función de su tamaño, sea este N, puede dividirse en instancias más pequeñas (< N) del mismo problema. y se conocerá la solución explícita a las instancias más simples, lo que se conoce como casos base, y se puede aplicar inducción sobre las llamadas más pequeñas y suponer que estas quedan resueltas
  • 3. RECURSIVIDAD EN COMPUTACIÓN Es el proceso mediante el cual una función se invoca a si misma de forma repetitiva. Hasta que cumpla determinada condición. La recursión es un potente concepto con el que se pueden expresar ciertos procedimientos de cálculo muy elegantemente.
  • 4. EJEMPLO: • Factorial recursivo: • Partiendo de la premisa: • Es una definición de factorial un tanto curiosa: • ¡se define en términos de sı misma! • El segundo de sus dos casos dice que para conocer el factorial de n hay que conocer el factorial de n − 1 y multiplicarlo por n. • Entonces, ¿como calculamos el factorial de n−1? • En principio, conociendo antes el valor del factorial de n−2 y multiplicando ese valor por n−1. ¿Y el de n−2? Pues del mismo modo. . . • y ası hasta que acabemos por preguntarnos cuanto vale el factorial de 1 • 1! vale 1.
  • 5.
  • 6. • resultado =1 • def factorial(n): • if n == 0 or n == 1: • resultado = 1 • else: • if n > 1: • resultado = n * factorial(n-1) • return resultado
  • 7. COMBINATORIA • Se entiende por combinatoria sin repetición, a los diferentes conjuntos que se pueden formar con «n» elementos, seleccionados de x en x. • Cada conjunto se debe diferenciar del anterior en al menos uno de sus elementos (el orden no importa) y estos no se pueden repetir. •n = Observaciones totales •x = Número de elementos seleccionados
  • 8. COMBINATORIA • EJEMPLO un alumno que tiene un examen de 4 preguntas. De las 4 preguntas ha de elegir tres ¿Cuántas combinaciones distintas podría realizar el alumno? Si razonamos un poco veríamos (sin llegar a aplicar la fórmula) que el alumno podría elegir cómo contestar a las 3 preguntas de cuatro formas distintas. • Conjunto/opción 1: Contestar las preguntas 1,2,3. • Conjunto/opción 2: Contestar las preguntas 1,2,4. • Conjunto/opción 3: Contestar las preguntas 1,3,4. • Conjunto/opción 4: Contestar las preguntas 2,3,4. • El alumno puede formar 4 conjuntos (n) de 3 elementos (x). Por lo tanto, la combinatoria sin repetición nos dice cómo formar o agrupar una cantidad de datos/observaciones finita, en grupos de una cantidad determinada sin que ninguno de los elementos pueda repetirse en cada grupo. • _ 4!___ • 3! (4-3)! •n = Observaciones totales •x = Número de elementos seleccionados _ 4 * 3!___ 3! * 1! _ 4 ___ 1 4
  • 9. COMBINATORIA • n = 12 • x = 2 • Al sustituir: • Aplicando el factorial para el denominador, tendríamos 12*11*10*…*1 = 479.001.600. Para el denominador tenemos 2*1*10*9*8…*1 = 7.257.600. Nuestro número combinatorio es =479.001.600/7.257.600 = 66.
  • 10. NÚMEROS CATALANES • En una matriz 2x2 ¿Cuantos posibles camino hay para ir de un vértice a otro. Sin sobrepasar la diagonal y moviéndose de a la derecha -> y arriba ↑ ? • DADA • DDAA
  • 11. NÚMEROS CATALANES • En una matriz 3x3 ¿Cuantos posibles camino hay para ir de un vértice a otro. Sin sobrepasar la diagonal y moviéndose de a la derecha -> y arriba ↑ ? • DDDAAA • DDADAA • DDAADA DADDAA DADADA
  • 12. • Y con una matriz de 4x4
  • 13. • ¿Y EN UNA MATRIZ DE 20X20?
  • 14. Números de Catalan • En combinatoria, los números de Catalan forman una secuencia de números naturales que aparece en varios problemas de conteo que habitualmente son recursivos. Obtienen su nombre del matemático belga Eugène Charles Catalan (1814–1894). • El n-ésimo número de Catalan se obtiene, aplicando coeficientes binomiales, a partir de la siguiente fórmula
  • 15.
  • 16. Tarea 1 • Investigar y exponer • ( la siguiente sesion ) sobre el algoritmo RECURSIVO de Ackerman . • La resolucion de alguna ejercicio al azar de la Tarea 2 • La nota es en razon de la calidad de explicacion (con tablas de verificacion (a mano) ). • Se escoger algun es
  • 17. Tarea 2 • Resolver las ejercicios de la practica • Previamente probar las actividades
  • 18.
  • 19. BIBLIOGRAFOA Introducción a la programación con Python , 2003 ,- Andres Marzal e Isabel Gracia G