SlideShare a Scribd company logo
1 of 5
Download to read offline
Unidad IV
Tema 7: Recursividad
Profesor: Jorge Escalona / Tobías Bolívar
Email: escaljorge@gmail.com / tobiasbolivar@gmail.com
Página Web: http://estructuradatos.tripod.com
Procedimientos Recursivos
• Un procedimento P es llamado directamente recursivo si contiene una
llamada a él mismo.
• Un procedimiento P es llamado indirectamente recursivo si contiene una
llamada a un procedimiento Q, el cual directa o indirectamente llama a P.
• Un caso especial de recursión directa es cuando la(s) llamada(s) recursiva(s)
es(son) la(s) última(s) instrucción(es) del procedimento. Esto es llamado
recursión en el final. Típicamente la llamada es la última instrucción de una
sentencia condicional:
P y P
if B then S; P S; if B then P
• La recursión en el final puede, por razones de eficiencia, siempre ser
transformado a un procedimiento iterativo. Definiciones equivalentes de P son:
P y P
while ¬B do S repeat S until ¬B
Esquema para eliminar la recursividad por el final
• Este esquema puede ser generalizado como sigue.
• Se asume que el procedimiento original P(x) puede sr uno de los dos casos
sigientes, donde B, Q y S no contienen llamadas recursivas a P:
P(x) y P(x)
if B then S; P(e) Q; if B then S; P(e)
• Son transformadas en:
P(x) y P(x)
while ¬B do Q
S; x <-- e while ¬B do
S; x <-- e; Q
Ejemplo 1: Función Factorial
• El factorial de un entero n>= 0 (n!) es definido recursivamente por:
n! = 1 si n = 0
= n * (n -1)! si n > 0
• De aquí se puede escribir directamente un procedimiento recursivo de la
siguiente forma:
F(n)
if n = 0 then F <-- 1
else F <-- n * F(n-1)
• Para convertir esta función a un procedimiento iterativo, seguimos el esquema
del caso 1:
F(n)
F <-- 1;
while n > 0 do
F <-- F * n; n <-- n -1
Ejemplo 2: Búsqueda en Arboles
• Versión recursiva:
Busqueda-Arbol(x, k)
if x = NULL or k = x.clave then r <-- x
else
if k < x.clave then r <-- Busqueda-Arbol(x.izquierda, k)
else r <-- Busqueda-Arbol(x.derecha, k)
• Versión iterativa:
Busqueda-Arbol(x, k)
r <-- x
while (x ≠ NULL and k ≠ x.clave) then
if k < x.clave then r <-- x.izqierda
else r <-- x.derecha

More Related Content

What's hot

Automatas de pila_no_det
Automatas de pila_no_detAutomatas de pila_no_det
Automatas de pila_no_detOscar Eduardo
 
Optimizacion
OptimizacionOptimizacion
Optimizacionshade9005
 
Teoria de Convolución
Teoria de ConvoluciónTeoria de Convolución
Teoria de Convoluciónjfaratro
 
Técnicas de programación en ensamblador pic16f877a repertorio 35 instrucciones
Técnicas de programación en ensamblador pic16f877a repertorio 35 instrucciones Técnicas de programación en ensamblador pic16f877a repertorio 35 instrucciones
Técnicas de programación en ensamblador pic16f877a repertorio 35 instrucciones Anllel Cardenas Yllanes
 
Analisis de algoritmos
Analisis de algoritmosAnalisis de algoritmos
Analisis de algoritmosRicardo Muñoz
 
BIBLIOTECAS EN PROGRAMACION
BIBLIOTECAS EN PROGRAMACIONBIBLIOTECAS EN PROGRAMACION
BIBLIOTECAS EN PROGRAMACIONUTPL
 

What's hot (13)

Automatas de pila_no_det
Automatas de pila_no_detAutomatas de pila_no_det
Automatas de pila_no_det
 
Optimizacion
OptimizacionOptimizacion
Optimizacion
 
Automatas de pila
Automatas de pilaAutomatas de pila
Automatas de pila
 
Teoria de Convolución
Teoria de ConvoluciónTeoria de Convolución
Teoria de Convolución
 
Técnicas de programación en ensamblador pic16f877a repertorio 35 instrucciones
Técnicas de programación en ensamblador pic16f877a repertorio 35 instrucciones Técnicas de programación en ensamblador pic16f877a repertorio 35 instrucciones
Técnicas de programación en ensamblador pic16f877a repertorio 35 instrucciones
 
432420331 certamen-mat023-utfsm
432420331 certamen-mat023-utfsm432420331 certamen-mat023-utfsm
432420331 certamen-mat023-utfsm
 
Analisis de algoritmos
Analisis de algoritmosAnalisis de algoritmos
Analisis de algoritmos
 
Punteros 2012
Punteros 2012Punteros 2012
Punteros 2012
 
Algebra de preposiciones
Algebra de preposicionesAlgebra de preposiciones
Algebra de preposiciones
 
Algebra de proposiciones
Algebra de proposicionesAlgebra de proposiciones
Algebra de proposiciones
 
BIBLIOTECAS EN PROGRAMACION
BIBLIOTECAS EN PROGRAMACIONBIBLIOTECAS EN PROGRAMACION
BIBLIOTECAS EN PROGRAMACION
 
Aporte punto 2
Aporte punto 2Aporte punto 2
Aporte punto 2
 
inflow performance relationship
inflow performance relationshipinflow performance relationship
inflow performance relationship
 

Similar to Tema7 (6)

Curso recursividad
Curso   recursividadCurso   recursividad
Curso recursividad
 
Recursividad 100329105433-phpapp01
Recursividad 100329105433-phpapp01Recursividad 100329105433-phpapp01
Recursividad 100329105433-phpapp01
 
Recursividad
RecursividadRecursividad
Recursividad
 
Recursividad
RecursividadRecursividad
Recursividad
 
2 clase 1_recursividad
2 clase 1_recursividad2 clase 1_recursividad
2 clase 1_recursividad
 
Recursividad.pdf
Recursividad.pdfRecursividad.pdf
Recursividad.pdf
 

More from Pedro Sánchez

More from Pedro Sánchez (20)

Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Guión didáctico
Guión didácticoGuión didáctico
Guión didáctico
 
Tarjeta Madre
Tarjeta MadreTarjeta Madre
Tarjeta Madre
 
Importancia de las redes sociales en la Educación
Importancia de las redes sociales en la EducaciónImportancia de las redes sociales en la Educación
Importancia de las redes sociales en la Educación
 
Evolucion de la web
Evolucion de la webEvolucion de la web
Evolucion de la web
 
Plagio en Internet Grupo los Integradores
Plagio en Internet Grupo los IntegradoresPlagio en Internet Grupo los Integradores
Plagio en Internet Grupo los Integradores
 
Tema8
Tema8Tema8
Tema8
 
Tema6
Tema6Tema6
Tema6
 
Tema5
Tema5Tema5
Tema5
 
Tema4
Tema4Tema4
Tema4
 
Tema3
Tema3Tema3
Tema3
 
Tema2
Tema2Tema2
Tema2
 
Tema1 (2)
Tema1 (2)Tema1 (2)
Tema1 (2)
 
Obj 10 capa 6 - presentacion
Obj 10   capa 6 - presentacionObj 10   capa 6 - presentacion
Obj 10 capa 6 - presentacion
 
Obj 9 capa 5 - sesion
Obj 9   capa 5 - sesionObj 9   capa 5 - sesion
Obj 9 capa 5 - sesion
 
Obj 8 capa 4 - transporte
Obj 8   capa 4 - transporteObj 8   capa 4 - transporte
Obj 8 capa 4 - transporte
 
Obj 7.4 capa 3 - red - router
Obj 7.4   capa 3 - red - router Obj 7.4   capa 3 - red - router
Obj 7.4 capa 3 - red - router
 
Obj 7.3 capa 3 - red - sub redes
Obj 7.3   capa 3 - red - sub redes Obj 7.3   capa 3 - red - sub redes
Obj 7.3 capa 3 - red - sub redes
 
Obj 7.2 capa 3 - red - ip clase d-e sub redes
Obj 7.2   capa 3 - red - ip clase d-e sub redes Obj 7.2   capa 3 - red - ip clase d-e sub redes
Obj 7.2 capa 3 - red - ip clase d-e sub redes
 
Obj 7.1 capa 3 - red - direccionamiento ip
Obj 7.1   capa 3 - red - direccionamiento ipObj 7.1   capa 3 - red - direccionamiento ip
Obj 7.1 capa 3 - red - direccionamiento ip
 

Recently uploaded

El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 

Recently uploaded (20)

El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 

Tema7

  • 1. Unidad IV Tema 7: Recursividad Profesor: Jorge Escalona / Tobías Bolívar Email: escaljorge@gmail.com / tobiasbolivar@gmail.com Página Web: http://estructuradatos.tripod.com
  • 2. Procedimientos Recursivos • Un procedimento P es llamado directamente recursivo si contiene una llamada a él mismo. • Un procedimiento P es llamado indirectamente recursivo si contiene una llamada a un procedimiento Q, el cual directa o indirectamente llama a P. • Un caso especial de recursión directa es cuando la(s) llamada(s) recursiva(s) es(son) la(s) última(s) instrucción(es) del procedimento. Esto es llamado recursión en el final. Típicamente la llamada es la última instrucción de una sentencia condicional: P y P if B then S; P S; if B then P • La recursión en el final puede, por razones de eficiencia, siempre ser transformado a un procedimiento iterativo. Definiciones equivalentes de P son: P y P while ¬B do S repeat S until ¬B
  • 3. Esquema para eliminar la recursividad por el final • Este esquema puede ser generalizado como sigue. • Se asume que el procedimiento original P(x) puede sr uno de los dos casos sigientes, donde B, Q y S no contienen llamadas recursivas a P: P(x) y P(x) if B then S; P(e) Q; if B then S; P(e) • Son transformadas en: P(x) y P(x) while ¬B do Q S; x <-- e while ¬B do S; x <-- e; Q
  • 4. Ejemplo 1: Función Factorial • El factorial de un entero n>= 0 (n!) es definido recursivamente por: n! = 1 si n = 0 = n * (n -1)! si n > 0 • De aquí se puede escribir directamente un procedimiento recursivo de la siguiente forma: F(n) if n = 0 then F <-- 1 else F <-- n * F(n-1) • Para convertir esta función a un procedimiento iterativo, seguimos el esquema del caso 1: F(n) F <-- 1; while n > 0 do F <-- F * n; n <-- n -1
  • 5. Ejemplo 2: Búsqueda en Arboles • Versión recursiva: Busqueda-Arbol(x, k) if x = NULL or k = x.clave then r <-- x else if k < x.clave then r <-- Busqueda-Arbol(x.izquierda, k) else r <-- Busqueda-Arbol(x.derecha, k) • Versión iterativa: Busqueda-Arbol(x, k) r <-- x while (x ≠ NULL and k ≠ x.clave) then if k < x.clave then r <-- x.izqierda else r <-- x.derecha