0% encontró este documento útil (0 votos)
107 vistas6 páginas

Recursividad

El documento presenta los conceptos de recursividad e iteración en programación, describiendo la recursividad como un método que se llama a sí mismo. Explica los tipos de recursividad como recursividad simple, múltiple, directa e indirecta, y proporciona pasos para diseñar algoritmos recursivos de manera efectiva. Finalmente, concluye que la recursividad puede optimizar algoritmos al reducir líneas de código y mejorar la legibilidad.

Cargado por

Padilla Carlos
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
107 vistas6 páginas

Recursividad

El documento presenta los conceptos de recursividad e iteración en programación, describiendo la recursividad como un método que se llama a sí mismo. Explica los tipos de recursividad como recursividad simple, múltiple, directa e indirecta, y proporciona pasos para diseñar algoritmos recursivos de manera efectiva. Finalmente, concluye que la recursividad puede optimizar algoritmos al reducir líneas de código y mejorar la legibilidad.

Cargado por

Padilla Carlos
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 6

ENSAYO DE LA UNIDAD 2

INTRODUCCIÓN
En el siguiente texto aprenderemos sobre los conceptos de recursividad
e iteración, enfocándonos en la recursividad dentro de la programación
y la estructura de datos.

Dentro de este ensayo se plantearan los conceptos relacionados para


lograr el diseño efectivo de algoritmos recursivos, abarcando así los tipos
de recursividad así como los pasos para concretar un método recursivo.

RECURSIVIDAD
Se define a la recursividad como la característica de un método de poder
llamarse a sí mismo en determinada situación especificada por el
programador.

Normalmente, un método recursivo es menos deficiente en términos de


tiempo de computadora que una solución iterativa, esto causado por el
tiempo adicional de llamada a los procedimientos.

Los programas examinados hasta el momento, compuestos por una


serie de métodos, se define como modo disciplinado.

Un método recursivo es aquél que indirectamente se llama a sí mismo a


través de otro método.

Un ejemplo de ello es la búsqueda de una palabra en una página web,


esta búsqueda conllevará a que se muestren los resultados con la
palabra objetivo, y a su vez, enlaces que lleven a otras páginas web, y
así sucesivamente hasta concluir la búsqueda principal.

La estructura del modo disciplinado sin recursividad se puede ver de la


siguiente manera:

Método 1(..){

Método 2(…){

Método 1();

Como podemos observar, el método 1 es llamado desde el método 2.

En una estructura con recursividad, la estructura es como la siguiente:

Método 1(){

….

Método 1();

El método 1 se llama a sí mismo dentro de este.

TIPOS DE RECURSIVIDAD
Recursividad simple.

Es aquella en la que el método sólo realiza una llamada a sí mismo,


únicamente se ejecuta una llamada recursiva.

También se le conoce como recursión lineal porque el número de


llamadas recursivas depende linealmente del tamaño de los datos.

Recursividad múltiple.

Este tipo de recursividad ocurre cuando se ejecuta más de una llamada


al método. Se caracteriza porque, al menos en un caso recursivo, se
realizan varias llamadas recursivas.

Recursividad directa.

Ocurre cuando el código dentro del algoritmo ejecuta una llamada al


mismo método.
Recursividad indirecta.

Ocurre cuando una función A involucra una función B, que a su vez


involucra una función B, y así sucesivamente hasta ejecutar el llamado
a la función A.

ITERACIÓN
Iteración (o loop) se define como la ejecución de un bucle de
instrucciones, un definido número de veces para lograr un objetivo.

Todo algoritmo puede transformarse de iterativo a recursivo, y


viceversa.

PASOS PARA ELABORAR UN ALGORITMO RECURSIVO


1. Definir explícitamente un caso simple del término que se va a
definir.
2. Establecer los otros casos aplicando una operación al resultado del
caso simple.
3. Cuidar que las simplificaciones sucesivas de cualquier caso nos
conduzcan por ultimo al caso simple.
4. Cuidar que el algoritmo no genere una secuencia de llamadas a sí
mismo.
5. Para al menos un argumento debe definirse la cuestión de
términos que no implique llamarse a sí mismo.

RECURSIVIDAD EN EL DISEÑO
En la parte de diseño hace referencia a la forma de representar los
métodos recursivos al momento de diseñarlos.

Dependiendo del método a utilizar en el diseño, 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.

1. Especificación y parametrización
A. Determinar los parámetros
B. Definir qué hace al algoritmo en función de esos parámetros,
que resuelve cada sub-problema.
C. Establecer cuál será la llamada inicial, parámetros IN/IN y
OUT/OUT
2. Análisis de los casos
A. Triviales. Determinar para qué valores de los parámetros
existe una solución directa y cuál es esa solución. Debe
existir como mínimo, sino el algoritmo no parará de generar
sub-problemas.
B. Generales. Determinar para qué valores de los parámetros
de la solución se obtiene por descomposición en sub-
problemas del mismo tipo. Establecer cómo se calculan las
soluciones resueltas las llamadas recursivas
correspondientes.
C. Generales. Determinar para qué valores de los parámetros
la solución se obtiene por descomposición en sub-problemas
del mismo tipo. Establecer cómo se calculan las soluciones
resueltas, las llamadas recursivas correspondientes.
3. Diseño del algoritmo.
A. Agrupar lo diseñado en previos pasos, procurando simplificar
el algoritmo cuando sea posible.
B. Eliminar redundancias y agrupar casos triviales cuando sea
interesante.
C. Procurar la eliminación de cálculos repetidos originada por
el estudio separado de casos.
4. Implementación.
A. Implementar las estructuras de datos, adecuadas a la
representación de los mismos.
B. Construir el subprograma recursivo.
CONCLUSIÓN
La recursividad nos puede ser de gran utilidad para la resolución de
problemas en algoritmos que debemos ejecutar dentro de un
determinado número de veces.

Podemos optimizar un algoritmo implementando esta característica de


los métodos, reduciendo así líneas de código, haciéndolo más legible
para otros programadores.

Se pueden convertir algoritmos creados de modo disciplinado a


recursivos a través de los pasos señalados, siguiendo estos pasos,
lograremos un código óptimo para el algoritmo deseado.
BIBLIOGRAÍA

Conceptodefinicion.de. (2019 de Julio de 18). Recuperado el 15 de


Septiembre de 2019, de https://conceptodefinicion.de/iteracion/

García, M. E. (s.f.). Universidad Tecnológica de la Mixteca. Recuperado


el 15 de Septiembre de 2019, de Universidad Tecnológica de la
Mixteca:
http://www.utm.mx/~mgarcia/PE4(Funciones).pdf#targetText=
Recursividad%20simple%3A%20Aquella%20en%20cuya%20defi
nici%C3%B3n%20s%C3%B3lo%20aparece%20una%20llamada
%20recursiva.&targetText=Recursividad%20cruzada%20o%20in
directa%3A%20Son,a%20trav%C3%A9s%20de%20

Méndez, G. (s.f.). Facultad de Informática. Recuperado el 15 de


Septiembre de 2019, de
https://www.fdi.ucm.es/profesor/gmendez/docs/edi0910/_02-
Recursion.pdf

Mogrovejo, M. (29 de Diciembre de 2007). Programación I y Estructura


de Datos. Recuperado el 15 de Septiembre de 2019, de
http://upsg01.foroactivo.com/t192-tipos-de-recursividad

Turmero, P. (s.f.). Monografías. Recuperado el 15 de Septiembre de


2019, de https://www.monografias.com/trabajos104/diseno-
programas-recursivos/diseno-programas-recursivos.shtml

También podría gustarte