Algoritmos Computacionales Ensayo 4
Brandon EscareñoEnsayo3 de Septiembre de 2019
612 Palabras (3 Páginas)190 Visitas
[pic 1][pic 2]
Facultad de Ingeniería Mecánica y Eléctrica de la Universidad Autónoma de Nuevo León
Nombre:
Oscar Cantu Garza
Carrera:
INGENIERO EN TECNOLOGÍAS DE SOFTWARE
Materia:
Algoritmos computacionales
Maestra: Jessica Natalia Martínez Balderas
Reporte #3
Matrícula: 1858374
Hora clase: M1-M2
Semestre: Ene-junio 2019
ESTRUCTURAS DE DATOS LINEALES
En la jerga de programación existe un término llamado “Estructura de datos lineales”, la cual determina ciertas maneras en las que los datos se distribuyen, esta se explica en el siguiente texto…
Las estructuras de datos lineales
En la estructura de datos lineares existen 3 tipos de estructuras lineales importantes las cuales son:
- Pilas
- Colas
- Listas
La importancia de estas es mucha ya que radican bastante y son muy comunes en los esquemas algorítmicos
Estas tienen operaciones básicas, las cuales son; “crear una secuencia vacía”, “añadir un elemento a la secuencia”, “ consultar un elemento en la secuencia”, “comprobar si la secuencia está vacía”.
Entre las 3 estructuras existe una diferencia, esta varia gracias a la posición del elemento, añadir, borrar y consultar:
- Listas: las 3 operaciones se realizan sobre una posición privilegiada de la secuencia, la cual puede desplazarse
- Colas: esta se añade por el final, se borra y se consulta por el principio
- Pilas: las 3 operaciones actúan sobre el final de la secuencia
Ya sabemos que los algoritmos son pasos que se siguen para resolver problemas, entre esos mismos se encuentran muchas variedades de los mismos algoritmos que tienen sus distintas funciones y/o propósitos uno de esos es el…
Algoritmo recursivo
Los algoritmos recursivos son aquellos que expresan la solución de un problema en términos de llamadas a sí mismo, este mismo tipo de llamadas se conocen como como llamadas recursivas o recurrentes
A continuación, se describirá el uso de este tipo de llamadas,
Para utilizar la “recursividad”, es necesario tener un problema el cual pueda que tenga varias soluciones, pero en la programación, se deberá hacer uso de la misma función para ir devolviendo el valor asignado para esa iteración, en pocas palabras si se llega a llamar a la función recursiva, esta realizara la operación solicitada anteriormente, la cual se operara con el resultado de la siguiente iteración.
(el siguiente es un ejemplo directamente citado de la página en la bibliografía)
En un ejemplo sencillo, se puede tener una multiplicación, es decir una suma de números n veces, para lo cual sería:
Sumar(suma);
suma + Sumar(suma);
suma + Sumar(suma);
suma + Sumar(suma);
suma + Sumar(suma);
suma + Sumar(suma);
El punto es aplicar la programación para no perderse en el mismo bucle sinfín en el momento de utilizar la llamada recursiva, en el ejemplo anterior sumar(suma) se puede ver como suma+ sumar (suma) pero deben de existir condicionales con contadores, un ejemplo es suma al infinito, la solución sería:
Sumar(suma, n){
Si n>0 entonces
Regresar suma+Sumar(suma, n-1);
Si no entonces:
Regresar 0;
}
...