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/ocastillo/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

Estructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de OrdenamientoEstructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de OrdenamientoJosé Antonio Sandoval Acosta
 
Colas en programacion
Colas en programacionColas en programacion
Colas en programacionLuis Igoodbad
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda HashBlanca Parra
 
Estructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasEstructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasHuascar Génere
 
Metodos de ordenamiento 2
Metodos de ordenamiento 2Metodos de ordenamiento 2
Metodos de ordenamiento 2angela montilla
 
Estructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras LinealesEstructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras LinealesJosé Antonio Sandoval Acosta
 
Arboles En Estructura de Datos
Arboles En Estructura de DatosArboles En Estructura de Datos
Arboles En Estructura de DatosDARKGIRL93
 
Presentación inserción directa y binaria
Presentación inserción directa y binariaPresentación inserción directa y binaria
Presentación inserción directa y binariaClaudia Tona Castro
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de DatosVannesa Salazar
 
Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamientodeff000001
 
Memoria Estatica
Memoria EstaticaMemoria Estatica
Memoria EstaticaJ M
 
Notación infija postfija
Notación infija postfijaNotación infija postfija
Notación infija postfijaOmarzingm
 
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
 
Mapa Conceptual de Grafos
Mapa Conceptual de GrafosMapa Conceptual de Grafos
Mapa Conceptual de GrafosSandra Biondi
 

La actualidad más candente (20)

Listas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de DatosListas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de Datos
 
Estructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de OrdenamientoEstructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de Ordenamiento
 
Búsqueda secuencial y binaria
Búsqueda secuencial y binariaBúsqueda secuencial y binaria
Búsqueda secuencial y binaria
 
Colas en programacion
Colas en programacionColas en programacion
Colas en programacion
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda Hash
 
Metodo de busqueda
Metodo de busquedaMetodo de busqueda
Metodo de busqueda
 
Estructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasEstructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colas
 
Metodos de ordenamiento 2
Metodos de ordenamiento 2Metodos de ordenamiento 2
Metodos de ordenamiento 2
 
Estructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras LinealesEstructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras Lineales
 
Arboles En Estructura de Datos
Arboles En Estructura de DatosArboles En Estructura de Datos
Arboles En Estructura de Datos
 
Presentación inserción directa y binaria
Presentación inserción directa y binariaPresentación inserción directa y binaria
Presentación inserción directa y binaria
 
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
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de Datos
 
Estructura de Datos - Estructuras no lineales
Estructura de Datos - Estructuras no linealesEstructura de Datos - Estructuras no lineales
Estructura de Datos - Estructuras no lineales
 
Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamiento
 
Memoria Estatica
Memoria EstaticaMemoria Estatica
Memoria Estatica
 
Notación infija postfija
Notación infija postfijaNotación infija postfija
Notación infija postfija
 
Tablas Hash
Tablas HashTablas Hash
Tablas Hash
 
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
 
Mapa Conceptual de Grafos
Mapa Conceptual de GrafosMapa Conceptual de Grafos
Mapa Conceptual de Grafos
 

Destacado

Método rápido (quicksort) (1)
Método rápido (quicksort) (1)Método rápido (quicksort) (1)
Método rápido (quicksort) (1)TAtiizz Villalobos
 
Administración y seguridad de redes: Portafolio de evidencias
Administración y seguridad de redes: Portafolio de evidenciasAdministración y seguridad de redes: Portafolio de evidencias
Administración y seguridad de redes: Portafolio de evidenciaslopezaimeemini
 
Caracteristicas de los modelos de propagacion
Caracteristicas de los modelos de propagacionCaracteristicas de los modelos de propagacion
Caracteristicas de los modelos de propagacionalfredo_tics
 
Comandos de configuracion de dispositivos cisco
Comandos de configuracion de dispositivos ciscoComandos de configuracion de dispositivos cisco
Comandos de configuracion de dispositivos ciscoCISCO NETWORKING
 

Destacado (8)

Arboles que diablos!!...
Arboles que diablos!!...Arboles que diablos!!...
Arboles que diablos!!...
 
Practica1unidad4benita
Practica1unidad4benitaPractica1unidad4benita
Practica1unidad4benita
 
Proyecto susana final
Proyecto susana finalProyecto susana final
Proyecto susana final
 
Evidencias practica uni 3
Evidencias practica uni 3Evidencias practica uni 3
Evidencias practica uni 3
 
Método rápido (quicksort) (1)
Método rápido (quicksort) (1)Método rápido (quicksort) (1)
Método rápido (quicksort) (1)
 
Administración y seguridad de redes: Portafolio de evidencias
Administración y seguridad de redes: Portafolio de evidenciasAdministración y seguridad de redes: Portafolio de evidencias
Administración y seguridad de redes: Portafolio de evidencias
 
Caracteristicas de los modelos de propagacion
Caracteristicas de los modelos de propagacionCaracteristicas de los modelos de propagacion
Caracteristicas de los modelos de propagacion
 
Comandos de configuracion de dispositivos cisco
Comandos de configuracion de dispositivos ciscoComandos de configuracion de dispositivos cisco
Comandos de configuracion de dispositivos cisco
 

Similar a Recursividad

Capítulo 3 Algoritmos recursivos.pdf
Capítulo 3 Algoritmos recursivos.pdfCapítulo 3 Algoritmos recursivos.pdf
Capítulo 3 Algoritmos recursivos.pdfIgor Rodriguez
 
Recursividad2019
Recursividad2019Recursividad2019
Recursividad2019difersld
 
recursividad EN PROGRAMACION ORIENTADA .pptx
recursividad EN PROGRAMACION ORIENTADA .pptxrecursividad EN PROGRAMACION ORIENTADA .pptx
recursividad EN PROGRAMACION ORIENTADA .pptxjuan gonzalez
 
La_Recursividad.pptx
La_Recursividad.pptxLa_Recursividad.pptx
La_Recursividad.pptxssuser948499
 
Recursividad 100329105433-phpapp01
Recursividad 100329105433-phpapp01Recursividad 100329105433-phpapp01
Recursividad 100329105433-phpapp01EldonCent
 
ESTRUCTURA DE DATOS
ESTRUCTURA DE DATOSESTRUCTURA DE DATOS
ESTRUCTURA DE DATOSIsai Vazquez
 
Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3marioUitzil
 
Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3Jhon_Marjorie
 
Recursividad en programación
Recursividad en programaciónRecursividad en programación
Recursividad en programaciónKareliaRivas
 
Programas_Recursivos.pptx
Programas_Recursivos.pptxProgramas_Recursivos.pptx
Programas_Recursivos.pptxFernando Solis
 
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.pdfEDWINERNESTOMADRIDME
 
DIAPOSITIVAS DE LA UNIDAD 3
DIAPOSITIVAS DE LA UNIDAD 3DIAPOSITIVAS DE LA UNIDAD 3
DIAPOSITIVAS DE LA UNIDAD 3efrain_rap
 

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
 
2. Recursividad
2. Recursividad2. Recursividad
2. Recursividad
 
La_Recursividad.pptx
La_Recursividad.pptxLa_Recursividad.pptx
La_Recursividad.pptx
 
Recursividad 100329105433-phpapp01
Recursividad 100329105433-phpapp01Recursividad 100329105433-phpapp01
Recursividad 100329105433-phpapp01
 
ESTRUCTURA DE DATOS
ESTRUCTURA DE DATOSESTRUCTURA DE DATOS
ESTRUCTURA DE DATOS
 
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 en programación
Recursividad en programaciónRecursividad en programación
Recursividad en programación
 
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
 
DIAPOSITIVAS DE LA UNIDAD 3
DIAPOSITIVAS DE LA UNIDAD 3DIAPOSITIVAS DE LA UNIDAD 3
DIAPOSITIVAS DE LA UNIDAD 3
 
Tarea 3
Tarea 3Tarea 3
Tarea 3
 
RECURSIVIDAD
RECURSIVIDADRECURSIVIDAD
RECURSIVIDAD
 
Unidad 2 & 3 estructura datos
Unidad 2 & 3 estructura datosUnidad 2 & 3 estructura datos
Unidad 2 & 3 estructura datos
 
Recursividad
RecursividadRecursividad
Recursividad
 
Recursividad
RecursividadRecursividad
Recursividad
 
Tarea 3
Tarea 3Tarea 3
Tarea 3
 

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
 
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
 
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
 
Practicas unidad 3 evidencias
Practicas unidad 3 evidenciasPracticas unidad 3 evidencias
Practicas unidad 3 evidencias
 
Arboles
ArbolesArboles
Arboles
 
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
 
Tabla comparativa unidad1 benita
Tabla comparativa unidad1 benitaTabla comparativa unidad1 benita
Tabla comparativa unidad1 benita
 
Mapa conceptual unidad 1 benita
Mapa conceptual unidad 1 benitaMapa conceptual unidad 1 benita
Mapa conceptual unidad 1 benita
 

Último

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
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
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
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
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
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
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
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
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
 
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
 
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
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
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
 
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
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 

Último (20)

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
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
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
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
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.
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
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
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
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
 
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
 
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
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
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
 
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
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 

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/ocastillo/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.