SlideShare una empresa de Scribd logo
1 de 11
INSTITUTO TECNOLÓGICO DE SALINA CRUZ 
ASIGNATURA: 
ESTRUCTURA Y ORGANIZACIÓN DE DATOS 
UNIDAD 3 ESTRUCTURAS NO LINEALES 
PROFESORA: 
M.C SUSANA MÓNICA ROMÁN NÁJERA 
TEMA: 
REPORTE DE INVESTIGACIÓN DEL TEMA RECURSIVIDAD 
ALUMNA: 
VILLALOBOS PEREZ BENITA 
SEMESTRE: 3 GRUPO: E 
SALINACRUZ, OAXACA A 21 DE OCTUBRE 2014.
ÍNDICE 
INTRODUCCIÓN ..................................................................................................................... 1 
RECURSIVIDAD ...................................................................................................................... 2 
MECÁNICA RECURSIÓN. ...................................................................................................... 5 
TRANSFORMACIÓN ALGORITMOS RECURSIVOS A ITERATIVOS.................................. 6 
RECURSIVIDAD EN DISEÑO................................................................................................. 7 
CONCLUSIÓN ......................................................................................................................... 8 
OTRAS FUENTES CONSULTADAS ...................................................................................... 9
1 
INTRODUCCIÓN 
Para seguir con la continuación de los temas referentes a la unidad 3 se estará 
hablando sobre el tema de recursividad más que nada se enfoca a que dicha función 
tiene varios ciclos repetitivos. 
Mediante la realización del siguiente trabajo se encontraran diferentes 
conceptos de recursividad, sus funciones, ventajas, desventajas para poder adquirir 
más conocimientos sobre el tema y comprender mejor cada concepto y relacionarla 
con la vida real. 
Esperando que este trabajo contenga la información necesaria para aclarar 
cualquier dudad del lector así como también de la persona que lo realiza.
2 
RECURSIVIDAD 
Podemos definir la recursividad como un proceso que se define en términos de sí 
mismo. 
El concepto de recursión es difícil de precisar, pero existen ejemplos de la vida 
cotidiana que nos pueden servir para darnos una mejor idea acerca de lo que es 
recursividad. Un ejemplo de esto es cuando se toma una fotografía de una fotografía, 
o cuando en un programa de televisión un periodista transfiere el control a otro 
periodista que se encuentra en otra ciudad, y este a su vez le transfiere el control a 
otro. 
Otro ejemplo paradigmático seria el del triángulo de Sierpinski en el que cada 
triangulo está compuesto de otro más pequeños, compuestos a su vez de la misma 
estructura recursiva (de hecho en este caso se trata de una estructura fractal). 
Casos típicos de estructuras de datos definidas de manera recursiva son los 
árboles binarios y las listas enlazadas. 
La recursión se puede dar de dos formas: 
 DIRECTA. Este tipo de recursión se da cuando un subprograma se llama 
directamente a sí mismo. 
 INDIRECTA Sucede cuando un subprograma llama a un segundo subprograma, y 
este a su vez llama al primero, es decir el subproceso A llama al B, y el B invoca 
al subproceso A. 
La recursividad es un concepto fundamental en matemáticas y en computación. 
Es una alternativa diferente para implementar estructuras de repetición 
(ciclos). Los módulos se hacen llamadas recursivas. 
Se puede usar en toda situación en la cual la solución pueda ser expresada 
como una secuencia de movimientos, pasos o transformaciones gobernadas por un 
conjunto de reglas no ambiguas.
3 
Las funciones recursivas se componen de: 
Caso base: una solución simple para un caso particular (puede haber más de un 
caso base). 
Caso recursivo: una solución que involucra volver a utilizar la función original, con 
parámetros que se acercan más al caso base. Los pasos que sigue el caso recursivo 
son los siguientes: 
1. El procedimiento se llama a sí mismo 
2. El problema se resuelve, tratando el mismo problema pero de tamaño menor 
3. La manera en la cual el tamaño del problema disminuye asegura que el caso 
base eventualmente se alcanzará. 
Un objeto es recursivo cuando se define en función de sí mismo, es decir, 
interviene en su propia definición. 
La recursividad es la propiedad mediante la cual un subprograma o rutina puede 
llamarse a sí mismo. 
Utilizando la recursividad, la resolución de un problema se reduce a uno 
esencialmente igual pero algo menos complejo. 
Características que deben cumplir los problemas recursivos: 
 La recursividad debe terminar alguna vez: caso base 
 Cada nueva formulación estamos más cerca del caso final (o base). 
Factible de utilizar recursividad 
• Para simplificar el código. 
• Cuando la estructura de datos es recursiva ejemplo : árboles.
4 
No factible utilizar recursividad 
• Cuando los métodos usen arreglos largos. 
• Cuando el método cambia de manera impredecible de campos. 
• Cuando las iteraciones sean la mejor opción. 
¿POR QUÉ ESCRIBIR PROGRAMAS RECURSIVOS? 
 Son más cercanos a la descripción matemática. 
 Generalmente más fáciles de analizar 
 Se adaptan mejor a las estructuras de datos recursivas. 
 Los algoritmos recursivos ofrecen soluciones estructuradas, modulares y 
elegantemente simples. 
Los términos recurrencia, recursión o recursividad hacen referencia a una técnica 
de definición de conceptos (o de diseño de procesos) en la que el concepto definido 
(o el proceso diseñado) es usado en la propia definición (o diseño). 
Se dice que una función es recursiva cuando dicha función se define en términos 
de la misma función. Es importante recordar que no todas las funciones pueden 
llamarse a sí mismas, deben estar diseñadas especialmente para comportarse de 
manera recursiva, de otro modo dichas funciones podrían conducir a bucles infinitos, 
o a que el programa termine inadecuadamente. 
Por ejemplo, podríamos pensar en la creación de un algoritmo que produzca el 
resultado de un número factorial, la definición iterativa de dicho algoritmo seria la 
siguiente: 
int factorial (int n) 
{ 
prod = 1; 
for (x = n; x > 0; x-- ) 
prod *= x;
5 
return prod; 
} 
La definición iterativa es sencilla, pero no resulta tan intuitiva, en cambio, uno 
podría analizar más detalladamente el problema y generar una definición recursiva 
para una función factorial que podría resultar más intuitiva y sencilla de implementar: 
MECÁNICA RECURSIÓN. 
La mecánica de la recursividad está basada en una “pila”. Cuando un módulo 
recursivo se está ejecutando se crea en la memoria de la computadora una pila 
donde se almacenan los valores de los parámetros y de las variables locales del 
módulo. Si el módulo es función también se guarda en la pila el valor que adquiere la 
misma. 
Para cada llamada del módulo se almacenan en la pila los nuevos valores de 
los parámetros y de las variables locales, creándose un nuevo “registro de 
activación”. De tal forma que, la pila de recursión está formada por registros de 
activación. Al terminar una llamada al módulo, es decir, cuando se cumple la 
definición base, se libera (sale) el registro de activación que se encuentra en el tope 
de la pila. De esta forma es como puede “recordar” qué valores tenían los 
parámetros y las variables locales en la llamada anterior. 
Si observamos el proceso que seguimos para calcular 4! vemos que el valor 
de n fue cambiando conforme fuimos entrando en recursión y que al salir de 
recursión necesitábamos recordar el valor que tenía n en la expresión anterior. Esto 
quiere decir que los valores que fue adquiriendo n fueron entrando a la pila. 
No sólo debe recordar los valores que tenían los parámetros y las variables 
locales al realizarse la correspondiente llamada al módulo sino que también tiene que 
recordar qué instrucción debe realizar al terminar esa llamada. De tal forma que los 
registros de activación están compuestos básicamente de:
1. Instrucción a la que debe regresar el control una vez terminada la ejecución 
6 
actual del módulo. 
2. Todos los parámetros y variables locales del módulo. 
3. Si el módulo recursivo es una función el valor que adquiere la misma, ya que éste 
se debe regresar. 
Para hacer la representación de la pila de recursión numeramos las instrucciones 
a las que debe regresar el control una vez terminada la ejecución del módulo 
recursivo y estos valores son los que ponemos en la pila. 
TRANSFORMACIÓN ALGORITMOS RECURSIVOS A ITERATIVOS 
El concepto de recursividad va ligado al de repetición. Son recursivos aquellos 
algoritmos que, estando encapsulados dentro de una función, son llamados desde 
ella misma una y otra vez, en contraposición a los algoritmos iterativos, que hacen 
uso de ciclos while, do-while, for, etc. 
Algo es recursivo si se define en términos de sí mismo (cuando para definirse 
hace mención a sí mismo). Para que una definición recursiva sea válida, la referencia 
a sí misma debe ser relativamente más sencilla que el caso considerado. 
Ejemplo: definición de nº natural: 
 El N º 0 es natural 
 El Nº n es natural si n-1 lo es. 
En un algoritmo recursivo distinguimos como mínimo 2 partes: 
a) Caso trivial, base o de fin de recursión: 
Es un caso donde el problema puede resolverse sin tener que hacer uso de una 
nueva llamada a sí mismo. Evita la continuación indefinida de las partes recursivas. 
b) Parte puramente recursiva:
Relaciona el resultado del algoritmo con resultados de casos más simples. Se hacen 
nuevas llamadas a la función, pero están más próximas al caso base. 
7 
RECURSIVIDAD EN DISEÑO 
Un procedimiento recursivo es aquel que se llama a si mismo, para poder funcionar 
tiene que tener una condición de salida que del número de veces que se va a llamar 
así mismo el procedimiento. 
La recursividad en diseño se refiere a la manera de cómo representar los 
procedimientos recursivos al momento de diseñar los programas. 
Dependiendo del método que utilicemos para diseñar la representación gráfica 
de la recursividad va a ser diferente sin embargo el procedimiento va a ser similar ya 
que el fin es el mismo poner una condición que nos diga si llamamos al método o que 
nos mande terminarlo. 
En un diagrama sería algo así: 
Figura 1 Recursividad
8 
CONCLUSIÓN 
La recursividad es un concepto fundamental en matemáticas y en computación. 
Es una alternativa diferente para implementar estructuras de repetición 
(ciclos). Los módulos se hacen llamadas recursivas. 
Se puede usar en toda situación en la cual la solución pueda ser expresada 
como una secuencia de movimientos, pasos o transformaciones gobernadas por un 
conjunto de reglas además como se pudo notar la recursividad también se puede 
trabajar mediante pilas, así como también se mencionó algunos algoritmos para 
utilizar la recursividad el cual se utilizó la de calcular un numero factorial es un 
ejemplo más común que se encontró. 
Esperando que el trabajo contenga la información necesaria para asi cumplir 
con las características que se van a calificar.
9 
OTRAS FUENTES CONSULTADAS 
Concepto de recursividad. Internet. En línea. Página consultada el día 16 de octubre 
de 2014. Disponible en: http://estructura-u1.blogspot.mx/2010/01/unidad-3- 
recursividad.html. 
Concepto de recursividad. Internet. En línea. Página consultada el día 16 de octubre 
de 2014. Disponible en: http://es.wikipedia.org/wiki/Recursi%C3%B3n. 
Concepto de recursividad. Internet. Fuera de línea. Página consultada el día 16 de 
octubre de 2014. Disponible en: 
http://webdelprofesor.ula.ve/nucleotrujillo/jalejandro/Prog2/Unidad3.pdf. 
Concepto de recursividad. Internet. En línea. Página consultada el día 16 de octubre 
de 2014. Disponible en: http://picandocodigo.net/2008/recursividad-en-programacion/. 
Concepto de recursividad. Internet. Fuera de línea. Página consultada el día 16 de 
octubre de 2014. Disponible en: 
http://www.uv.mx/personal/ocasti llo/files/2011/04/Recursividad.pdf. 
Concepto de recursividad. Internet. En línea. Página consultada el día 16 de octubre 
de 2014. Disponible en: http://www.youtube.com/watch?v=heEjRbkvOog.

Más contenido relacionado

La actualidad más candente

Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Giancarlo Aguilar
 
Unidad 3 estructura lineales
Unidad 3 estructura linealesUnidad 3 estructura lineales
Unidad 3 estructura linealesEnrique2194
 
Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoTAtiizz Villalobos
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamientoLalo Chooper
 
Diccionario de datos
Diccionario de datosDiccionario de datos
Diccionario de datosJorge Garcia
 
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
 
Algoritmo divide y vencerás
Algoritmo divide y vencerásAlgoritmo divide y vencerás
Algoritmo divide y vencerásloco8888
 
Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamientodeff000001
 
Estructuras lineales unidad 3
Estructuras lineales unidad 3Estructuras lineales unidad 3
Estructuras lineales unidad 3eliezerbs
 
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
 
Metodos de ordenacion radix sort
Metodos de ordenacion radix sortMetodos de ordenacion radix sort
Metodos de ordenacion radix sorttephyfree
 

La actualidad más candente (20)

Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
 
Unidad 3 estructura lineales
Unidad 3 estructura linealesUnidad 3 estructura lineales
Unidad 3 estructura lineales
 
Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamiento
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
Aplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafosAplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafos
 
Estructura datos pilas y colas
Estructura datos pilas y colasEstructura datos pilas y colas
Estructura datos pilas y colas
 
Diccionario de datos
Diccionario de datosDiccionario de datos
Diccionario de datos
 
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 directa e indirecta
Recursividad directa e indirectaRecursividad directa e indirecta
Recursividad directa e indirecta
 
Algoritmo divide y vencerás
Algoritmo divide y vencerásAlgoritmo divide y vencerás
Algoritmo divide y vencerás
 
Metodo de busqueda
Metodo de busquedaMetodo de busqueda
Metodo de busqueda
 
Tipos de listas en estructura de datos
Tipos de listas en estructura de datosTipos de listas en estructura de datos
Tipos de listas en estructura de datos
 
Arreglos c++
Arreglos c++Arreglos c++
Arreglos c++
 
Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamiento
 
Estructuras lineales unidad 3
Estructuras lineales unidad 3Estructuras lineales unidad 3
Estructuras lineales unidad 3
 
Algoritmos de Ordenamiento externo
Algoritmos de Ordenamiento externoAlgoritmos de Ordenamiento externo
Algoritmos de Ordenamiento externo
 
Memoria dinamica
Memoria dinamicaMemoria dinamica
Memoria dinamica
 
Listas doblemente enlazadas
Listas doblemente enlazadasListas doblemente enlazadas
Listas doblemente enlazadas
 
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
 
Metodos de ordenacion radix sort
Metodos de ordenacion radix sortMetodos de ordenacion radix sort
Metodos de ordenacion radix sort
 

Destacado

Pensamiento Sistemico
Pensamiento SistemicoPensamiento Sistemico
Pensamiento SistemicoOscar Ascon
 
ResolucióN De Problemas
ResolucióN De ProblemasResolucióN De Problemas
ResolucióN De Problemasguest796d29
 
Recursividad
RecursividadRecursividad
Recursividadbetzy
 
52 ejercicios resueltos en pseudocodigo
52 ejercicios resueltos en pseudocodigo52 ejercicios resueltos en pseudocodigo
52 ejercicios resueltos en pseudocodigoBrivé Soluciones
 
7222014 ejercicios-resueltos-con-pseint
7222014 ejercicios-resueltos-con-pseint7222014 ejercicios-resueltos-con-pseint
7222014 ejercicios-resueltos-con-pseintJoselo Chushig
 
U1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos ComplejidadU1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos Complejidadrezzaca
 
SISTEMA DE FACTURACION (Ejemplo desarrollado)
SISTEMA DE FACTURACION (Ejemplo desarrollado)SISTEMA DE FACTURACION (Ejemplo desarrollado)
SISTEMA DE FACTURACION (Ejemplo desarrollado)Darwin Durand
 

Destacado (8)

Pensamiento Sistemico
Pensamiento SistemicoPensamiento Sistemico
Pensamiento Sistemico
 
Recursividad
RecursividadRecursividad
Recursividad
 
ResolucióN De Problemas
ResolucióN De ProblemasResolucióN De Problemas
ResolucióN De Problemas
 
Recursividad
RecursividadRecursividad
Recursividad
 
52 ejercicios resueltos en pseudocodigo
52 ejercicios resueltos en pseudocodigo52 ejercicios resueltos en pseudocodigo
52 ejercicios resueltos en pseudocodigo
 
7222014 ejercicios-resueltos-con-pseint
7222014 ejercicios-resueltos-con-pseint7222014 ejercicios-resueltos-con-pseint
7222014 ejercicios-resueltos-con-pseint
 
U1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos ComplejidadU1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos Complejidad
 
SISTEMA DE FACTURACION (Ejemplo desarrollado)
SISTEMA DE FACTURACION (Ejemplo desarrollado)SISTEMA DE FACTURACION (Ejemplo desarrollado)
SISTEMA DE FACTURACION (Ejemplo desarrollado)
 

Similar a Recursividad

Similar a Recursividad (20)

Capítulo 3 Algoritmos recursivos.pdf
Capítulo 3 Algoritmos recursivos.pdfCapítulo 3 Algoritmos recursivos.pdf
Capítulo 3 Algoritmos recursivos.pdf
 
Recursividad2019
Recursividad2019Recursividad2019
Recursividad2019
 
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
 
La_Recursividad.pptx
La_Recursividad.pptxLa_Recursividad.pptx
La_Recursividad.pptx
 
2. Recursividad
2. Recursividad2. Recursividad
2. Recursividad
 
ESTRUCTURA DE DATOS
ESTRUCTURA DE DATOSESTRUCTURA DE DATOS
ESTRUCTURA DE DATOS
 
Programas_Recursivos.pptx
Programas_Recursivos.pptxProgramas_Recursivos.pptx
Programas_Recursivos.pptx
 
Unidad III-Programación Modular-introducción al lenguaje programable.pdf
Unidad III-Programación Modular-introducción al lenguaje programable.pdfUnidad III-Programación Modular-introducción al lenguaje programable.pdf
Unidad III-Programación Modular-introducción al lenguaje programable.pdf
 
Recursividad 100329105433-phpapp01
Recursividad 100329105433-phpapp01Recursividad 100329105433-phpapp01
Recursividad 100329105433-phpapp01
 
Recursividad en programación
Recursividad en programaciónRecursividad en programación
Recursividad en programación
 
Tarea 3
Tarea 3Tarea 3
Tarea 3
 
Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3
 
Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3
 
RECURSIVIDAD
RECURSIVIDADRECURSIVIDAD
RECURSIVIDAD
 
Recursividad
RecursividadRecursividad
Recursividad
 
Tarea 3
Tarea 3Tarea 3
Tarea 3
 
DIAPOSITIVAS DE LA UNIDAD 3
DIAPOSITIVAS DE LA UNIDAD 3DIAPOSITIVAS DE LA UNIDAD 3
DIAPOSITIVAS DE LA UNIDAD 3
 
recursividad
recursividadrecursividad
recursividad
 
Unidad 2 & 3 estructura datos
Unidad 2 & 3 estructura datosUnidad 2 & 3 estructura datos
Unidad 2 & 3 estructura datos
 

Más de TAtiizz Villalobos (20)

Cuadro sinoptico unidad 1
Cuadro sinoptico unidad 1Cuadro sinoptico unidad 1
Cuadro sinoptico unidad 1
 
Cuadro sinoptico unidad 1
Cuadro sinoptico unidad 1Cuadro sinoptico unidad 1
Cuadro sinoptico unidad 1
 
Proyecto susana final
Proyecto susana finalProyecto susana final
Proyecto susana final
 
Unidad iii pilas y colas
Unidad iii pilas y colasUnidad iii pilas y colas
Unidad iii pilas y colas
 
Estructura de datos benita
Estructura de datos benitaEstructura de datos benita
Estructura de datos benita
 
Apuntes
ApuntesApuntes
Apuntes
 
Recursividad
RecursividadRecursividad
Recursividad
 
Estructura de datos benita
Estructura de datos benitaEstructura de datos benita
Estructura de datos benita
 
Practicas susana todo unidad1
Practicas susana todo unidad1Practicas susana todo unidad1
Practicas susana todo unidad1
 
Tabla comparativa unidad1 benita
Tabla comparativa unidad1 benitaTabla comparativa unidad1 benita
Tabla comparativa unidad1 benita
 
Estructura de datos benita
Estructura de datos benitaEstructura de datos benita
Estructura de datos benita
 
Mapa conceptual unidad 1 benita
Mapa conceptual unidad 1 benitaMapa conceptual unidad 1 benita
Mapa conceptual unidad 1 benita
 
Tabla comparativa unidad1 benita
Tabla comparativa unidad1 benitaTabla comparativa unidad1 benita
Tabla comparativa unidad1 benita
 
Estructura de datos benita
Estructura de datos benitaEstructura de datos benita
Estructura de datos benita
 
Analisis del cap 8
Analisis del cap 8Analisis del cap 8
Analisis del cap 8
 
Practicas unidad 2 evidencias
Practicas unidad 2 evidenciasPracticas unidad 2 evidencias
Practicas unidad 2 evidencias
 
Método rápido (quicksort) (1)
Método rápido (quicksort) (1)Método rápido (quicksort) (1)
Método rápido (quicksort) (1)
 
Practica1unidad4benita
Practica1unidad4benitaPractica1unidad4benita
Practica1unidad4benita
 
Evidencias practica uni 3
Evidencias practica uni 3Evidencias practica uni 3
Evidencias practica uni 3
 
Practicas unidad 3 evidencias
Practicas unidad 3 evidenciasPracticas unidad 3 evidencias
Practicas unidad 3 evidencias
 

Último

dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
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
 
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
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
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
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
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
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
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 uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
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
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
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
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
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
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
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
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..RobertoGumucio2
 

Último (20)

dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
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
 
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.
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
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
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
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
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
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 uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
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
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
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
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
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
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
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
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..
 

Recursividad

  • 1. INSTITUTO TECNOLÓGICO DE SALINA CRUZ ASIGNATURA: ESTRUCTURA Y ORGANIZACIÓN DE DATOS UNIDAD 3 ESTRUCTURAS NO LINEALES PROFESORA: M.C SUSANA MÓNICA ROMÁN NÁJERA TEMA: REPORTE DE INVESTIGACIÓN DEL TEMA RECURSIVIDAD ALUMNA: VILLALOBOS PEREZ BENITA SEMESTRE: 3 GRUPO: E SALINACRUZ, OAXACA A 21 DE OCTUBRE 2014.
  • 2. ÍNDICE INTRODUCCIÓN ..................................................................................................................... 1 RECURSIVIDAD ...................................................................................................................... 2 MECÁNICA RECURSIÓN. ...................................................................................................... 5 TRANSFORMACIÓN ALGORITMOS RECURSIVOS A ITERATIVOS.................................. 6 RECURSIVIDAD EN DISEÑO................................................................................................. 7 CONCLUSIÓN ......................................................................................................................... 8 OTRAS FUENTES CONSULTADAS ...................................................................................... 9
  • 3. 1 INTRODUCCIÓN Para seguir con la continuación de los temas referentes a la unidad 3 se estará hablando sobre el tema de recursividad más que nada se enfoca a que dicha función tiene varios ciclos repetitivos. Mediante la realización del siguiente trabajo se encontraran diferentes conceptos de recursividad, sus funciones, ventajas, desventajas para poder adquirir más conocimientos sobre el tema y comprender mejor cada concepto y relacionarla con la vida real. Esperando que este trabajo contenga la información necesaria para aclarar cualquier dudad del lector así como también de la persona que lo realiza.
  • 4. 2 RECURSIVIDAD Podemos definir la recursividad como un proceso que se define en términos de sí mismo. El concepto de recursión es difícil de precisar, pero existen ejemplos de la vida cotidiana que nos pueden servir para darnos una mejor idea acerca de lo que es recursividad. Un ejemplo de esto es cuando se toma una fotografía de una fotografía, o cuando en un programa de televisión un periodista transfiere el control a otro periodista que se encuentra en otra ciudad, y este a su vez le transfiere el control a otro. Otro ejemplo paradigmático seria el del triángulo de Sierpinski en el que cada triangulo está compuesto de otro más pequeños, compuestos a su vez de la misma estructura recursiva (de hecho en este caso se trata de una estructura fractal). Casos típicos de estructuras de datos definidas de manera recursiva son los árboles binarios y las listas enlazadas. La recursión se puede dar de dos formas:  DIRECTA. Este tipo de recursión se da cuando un subprograma se llama directamente a sí mismo.  INDIRECTA Sucede cuando un subprograma llama a un segundo subprograma, y este a su vez llama al primero, es decir el subproceso A llama al B, y el B invoca al subproceso A. La recursividad es un concepto fundamental en matemáticas y en computación. Es una alternativa diferente para implementar estructuras de repetición (ciclos). Los módulos se hacen llamadas recursivas. Se puede usar en toda situación en la cual la solución pueda ser expresada como una secuencia de movimientos, pasos o transformaciones gobernadas por un conjunto de reglas no ambiguas.
  • 5. 3 Las funciones recursivas se componen de: Caso base: una solución simple para un caso particular (puede haber más de un caso base). Caso recursivo: una solución que involucra volver a utilizar la función original, con parámetros que se acercan más al caso base. Los pasos que sigue el caso recursivo son los siguientes: 1. El procedimiento se llama a sí mismo 2. El problema se resuelve, tratando el mismo problema pero de tamaño menor 3. La manera en la cual el tamaño del problema disminuye asegura que el caso base eventualmente se alcanzará. Un objeto es recursivo cuando se define en función de sí mismo, es decir, interviene en su propia definición. La recursividad es la propiedad mediante la cual un subprograma o rutina puede llamarse a sí mismo. Utilizando la recursividad, la resolución de un problema se reduce a uno esencialmente igual pero algo menos complejo. Características que deben cumplir los problemas recursivos:  La recursividad debe terminar alguna vez: caso base  Cada nueva formulación estamos más cerca del caso final (o base). Factible de utilizar recursividad • Para simplificar el código. • Cuando la estructura de datos es recursiva ejemplo : árboles.
  • 6. 4 No factible utilizar recursividad • Cuando los métodos usen arreglos largos. • Cuando el método cambia de manera impredecible de campos. • Cuando las iteraciones sean la mejor opción. ¿POR QUÉ ESCRIBIR PROGRAMAS RECURSIVOS?  Son más cercanos a la descripción matemática.  Generalmente más fáciles de analizar  Se adaptan mejor a las estructuras de datos recursivas.  Los algoritmos recursivos ofrecen soluciones estructuradas, modulares y elegantemente simples. Los términos recurrencia, recursión o recursividad hacen referencia a una técnica de definición de conceptos (o de diseño de procesos) en la que el concepto definido (o el proceso diseñado) es usado en la propia definición (o diseño). Se dice que una función es recursiva cuando dicha función se define en términos de la misma función. Es importante recordar que no todas las funciones pueden llamarse a sí mismas, deben estar diseñadas especialmente para comportarse de manera recursiva, de otro modo dichas funciones podrían conducir a bucles infinitos, o a que el programa termine inadecuadamente. Por ejemplo, podríamos pensar en la creación de un algoritmo que produzca el resultado de un número factorial, la definición iterativa de dicho algoritmo seria la siguiente: int factorial (int n) { prod = 1; for (x = n; x > 0; x-- ) prod *= x;
  • 7. 5 return prod; } La definición iterativa es sencilla, pero no resulta tan intuitiva, en cambio, uno podría analizar más detalladamente el problema y generar una definición recursiva para una función factorial que podría resultar más intuitiva y sencilla de implementar: MECÁNICA RECURSIÓN. La mecánica de la recursividad está basada en una “pila”. Cuando un módulo recursivo se está ejecutando se crea en la memoria de la computadora una pila donde se almacenan los valores de los parámetros y de las variables locales del módulo. Si el módulo es función también se guarda en la pila el valor que adquiere la misma. Para cada llamada del módulo se almacenan en la pila los nuevos valores de los parámetros y de las variables locales, creándose un nuevo “registro de activación”. De tal forma que, la pila de recursión está formada por registros de activación. Al terminar una llamada al módulo, es decir, cuando se cumple la definición base, se libera (sale) el registro de activación que se encuentra en el tope de la pila. De esta forma es como puede “recordar” qué valores tenían los parámetros y las variables locales en la llamada anterior. Si observamos el proceso que seguimos para calcular 4! vemos que el valor de n fue cambiando conforme fuimos entrando en recursión y que al salir de recursión necesitábamos recordar el valor que tenía n en la expresión anterior. Esto quiere decir que los valores que fue adquiriendo n fueron entrando a la pila. No sólo debe recordar los valores que tenían los parámetros y las variables locales al realizarse la correspondiente llamada al módulo sino que también tiene que recordar qué instrucción debe realizar al terminar esa llamada. De tal forma que los registros de activación están compuestos básicamente de:
  • 8. 1. Instrucción a la que debe regresar el control una vez terminada la ejecución 6 actual del módulo. 2. Todos los parámetros y variables locales del módulo. 3. Si el módulo recursivo es una función el valor que adquiere la misma, ya que éste se debe regresar. Para hacer la representación de la pila de recursión numeramos las instrucciones a las que debe regresar el control una vez terminada la ejecución del módulo recursivo y estos valores son los que ponemos en la pila. TRANSFORMACIÓN ALGORITMOS RECURSIVOS A ITERATIVOS El concepto de recursividad va ligado al de repetición. Son recursivos aquellos algoritmos que, estando encapsulados dentro de una función, son llamados desde ella misma una y otra vez, en contraposición a los algoritmos iterativos, que hacen uso de ciclos while, do-while, for, etc. Algo es recursivo si se define en términos de sí mismo (cuando para definirse hace mención a sí mismo). Para que una definición recursiva sea válida, la referencia a sí misma debe ser relativamente más sencilla que el caso considerado. Ejemplo: definición de nº natural:  El N º 0 es natural  El Nº n es natural si n-1 lo es. En un algoritmo recursivo distinguimos como mínimo 2 partes: a) Caso trivial, base o de fin de recursión: Es un caso donde el problema puede resolverse sin tener que hacer uso de una nueva llamada a sí mismo. Evita la continuación indefinida de las partes recursivas. b) Parte puramente recursiva:
  • 9. Relaciona el resultado del algoritmo con resultados de casos más simples. Se hacen nuevas llamadas a la función, pero están más próximas al caso base. 7 RECURSIVIDAD EN DISEÑO Un procedimiento recursivo es aquel que se llama a si mismo, para poder funcionar tiene que tener una condición de salida que del número de veces que se va a llamar así mismo el procedimiento. La recursividad en diseño se refiere a la manera de cómo representar los procedimientos recursivos al momento de diseñar los programas. Dependiendo del método que utilicemos para diseñar la representación gráfica de la recursividad va a ser diferente sin embargo el procedimiento va a ser similar ya que el fin es el mismo poner una condición que nos diga si llamamos al método o que nos mande terminarlo. En un diagrama sería algo así: Figura 1 Recursividad
  • 10. 8 CONCLUSIÓN La recursividad es un concepto fundamental en matemáticas y en computación. Es una alternativa diferente para implementar estructuras de repetición (ciclos). Los módulos se hacen llamadas recursivas. Se puede usar en toda situación en la cual la solución pueda ser expresada como una secuencia de movimientos, pasos o transformaciones gobernadas por un conjunto de reglas además como se pudo notar la recursividad también se puede trabajar mediante pilas, así como también se mencionó algunos algoritmos para utilizar la recursividad el cual se utilizó la de calcular un numero factorial es un ejemplo más común que se encontró. Esperando que el trabajo contenga la información necesaria para asi cumplir con las características que se van a calificar.
  • 11. 9 OTRAS FUENTES CONSULTADAS Concepto de recursividad. Internet. En línea. Página consultada el día 16 de octubre de 2014. Disponible en: http://estructura-u1.blogspot.mx/2010/01/unidad-3- recursividad.html. Concepto de recursividad. Internet. En línea. Página consultada el día 16 de octubre de 2014. Disponible en: http://es.wikipedia.org/wiki/Recursi%C3%B3n. Concepto de recursividad. Internet. Fuera de línea. Página consultada el día 16 de octubre de 2014. Disponible en: http://webdelprofesor.ula.ve/nucleotrujillo/jalejandro/Prog2/Unidad3.pdf. Concepto de recursividad. Internet. En línea. Página consultada el día 16 de octubre de 2014. Disponible en: http://picandocodigo.net/2008/recursividad-en-programacion/. Concepto de recursividad. Internet. Fuera de línea. Página consultada el día 16 de octubre de 2014. Disponible en: http://www.uv.mx/personal/ocasti llo/files/2011/04/Recursividad.pdf. Concepto de recursividad. Internet. En línea. Página consultada el día 16 de octubre de 2014. Disponible en: http://www.youtube.com/watch?v=heEjRbkvOog.