Está en la página 1de 13

Tarea: Desarrollo de Ejercicios de estructuras lineales

Integrantes del equipo:


• Dennis Adolfo Jiménez Pérez
• Armando Hernández Hernández
• Amanda del Rocío Ponce Sánchez
• Miguel Hernández Cuevas

Ingeniería en Sistemas Computacionales.


Instituto Tecnológico de Tuxtla Gutiérrez

Materia: Estructura de datos

Profesora: Ethel Rosali Vázquez del Porte

Tuxtla Gutiérrez, Chiapas, 03 de marzo de 2023


Introducción

Las estructuras de datos son una parte fundamental en el desarrollo de software. Estas
permiten organizar y gestionar de manera eficiente grandes cantidades de información
en un programa. Entre las estructuras de datos más comunes se encuentran las
estructuras lineales, las cuales se caracterizan por tener un único camino de acceso a
sus elementos.

La codificación de estructuras lineales es fundamental en muchos campos de la


informática, incluyendo la inteligencia artificial, el análisis de datos y la programación
web. Comprender cómo se codifican estas estructuras y cómo se pueden utilizar en
diferentes situaciones es esencial para cualquier programador que busque desarrollar
software eficiente y escalable.

En esta práctica, nos enfocaremos en la codificación de las tres estructuras lineales


más comunes: pilas, colas y listas. Para ello, se resolverán 4 ejercicios, los cuáles
exigen la creación y manipulación de estas estructuras. La programación se hará en
Java (utilizando NetBeans).

Asimismo, uno de los objetivos de esta práctica es, que el estudiante(s) consolide los
conocimientos adquiridos en la unidad 3 de la materia, mediante la resolución de
problemas que exijan la combinación de al menos 2 tipos de estructuras
simultáneamente.
Ejercicios

• Ejercicio 1: Desarrolle una solución que reciba una Pila Pila1 de números
enteros y mueva sus elementos a una nueva Pila Pila2, manteniendo el orden
de salida de dichos números enteros. Al finalizar la Pila1 no debe contener
elementos.

• Ejercicio 2: Desarrolle una solución que implemente una lista enlazada de datos
enteros que visualice los datos pares de la lista de manera recursiva.

• Ejercicio 3: Desarrolle una solución que reciba una Cola C1 de números


flotantes y devuelva una nueva Cola C2 pero con los elementos invertidos, es
decir el último de la Cola C1, pasará a ser el primero de la nueva Cola C2. La
Cola C1 no debe sufrir ningún tipo de cambio o alteración.

• Ejercicio 4: Desarrolle una solución que modele el proceso de recepción de


pedidos en una empresa a través de la implementación de una cola con listas
enlazadas.
o La empresa sólo fabrica un producto; a la empresa llegan pedidos de
distintos clientes; cada pedido contiene dos características: cliente y
cantidad de producto; los pedidos se procesan por orden de llegada.
o Crea una cola y crea al menos 5 pedidos, el programa debe incluir
inserción y extracción de los pedidos y mostrar la información de los
pedidos así como la actualización de estos cuando se inserte o elimine
un nuevo pedido.
Resolución y evidencias

La resolución de cada uno de los ejercicios se llevó a cabo usando el lenguaje Java, y
codificándolos en NetBeans (se recomienda usar este mismo software para la
visualización y compilación de los códigos).

A continuación, se evidencian mediante capturas de pantalla la resolución de cada


ejercicio.

Ejercicio 1
Ejecución:
Ejercicio 2

Continuación del código del ejercicio 2, y ejecución


Ejercicio 3
Ejecución
Ejercicio 4

Para este ejercicio fue necesario trabajar con 3 pestañas de NetBeans (2 clases y el
Main)

Para clase pedidos

Para la creación de colas de pedidos


Para el Main
Ejecución

Nota: Para una mejor visualización y ejecución de los algoritmos, ejecutar los
códigos anexos en esta misma práctica.
Conclusión

Después completar esta práctica de codificación de las estructuras lineales clásicas


(pilas, colas y listas) en estructuras de datos, podemos darnos cuentas que estos son
fundamentales para la creación de algoritmos que ayuden a resolver problemas de la
vida cotidiana. Asimismo, trabajar con estas tres estructuras podemos darnos cuenta
de cuáles son más útiles o convenientes usar en cada situación específica.

Las pilas, por ejemplo, son muy útiles cuando se necesita almacenar elementos en
orden LIFO (Last-In, First-Out), lo que significa que el último elemento agregado es el
primero en salir. Esto puede ser útil en situaciones en las que se desea deshacer una
acción o cuando se está implementando un sistema de navegación web.

Las colas, por otro lado, se utilizan cuando se necesita almacenar elementos en orden
FIFO (First-In, First-Out), lo que significa que el primer elemento en entrar es el primero
en salir. Estas estructuras son útiles para representar colas de espera, como cuando
se está esperando para ser atendido en una tienda o para descargar un archivo de
internet (como lo resolvimos en el ejercicio 4).

Las listas, por último, son estructuras más complejas que permiten almacenar y
manipular elementos de forma más versátil. Las listas pueden ser enlazadas o
dinámicas, lo que significa que pueden crecer y encogerse según sea necesario, y
permiten la inserción y eliminación de elementos en cualquier posición de la lista
(también como los usamos en el ejercicio 4 en combinación con las colas).

Por otro lado, a estas alturas, el estudiante ha consolidado aun más su conocimiento
sobre los fundamentos, aplicación y codificación de estas estructuras lineales.
Asimismo, dado este logro, se espera que el alumno pueda digerir con mayor facilidad
el tema siguiente (estructuras no lineales) de la unidad 4 de estructura de datos.
También, se exhorta/motiva al alumno investigar y estudiar de manera autodidacta, y
de esta manera logre desbloquear nuevas habilidades y potencialice sus oportunidades
laborales futuras en el campo de los sistemas computacionales.

También podría gustarte