Universidad Tecnológica De México.
Ingeniería En Software y Redes.
Entregable 2
Materia: Estructura De Datos.
Profesor: Yamani García Diaz.
Alumno: Heriberto Hernandez Briseño.
Estructuras Dinámicas.
Una estructura de datos dinámica es una forma de organizar y almacenar
información en un sistema informático, donde el tamaño y la composición de los
datos pueden cambiar durante la ejecución del programa, adaptándose a las
necesidades específicas de la aplicación.
Se clasifican
Lineales: Cada elemento (nodo) sólo dispone de un puntero, que apuntará al
siguiente elemento de la lista o valdrá NULL si es el último elemento. Sólo se pueden
recorrer hacia delante.
Pila: Son un tipo especial de lista, conocidas como listas LIFO (Last In, First Out): el
último en entrar es el primero en salir).
Cola: Otro tipo de listas, conocidas como listas FIFO (First In, First Out: El primero en
entrar es el primero en salir).
Lista Circulares: También llamadas listas cerradas, son parecidas a las listas
enlazadas, pero el último elemento apunta al primero. Cualquier nodo puede ser el
nodo de entrada y salida. Se recorren siempre en el mismo sentido.
Lista Doblemente Enlazadas: Cada elemento dispone de dos punteros, uno apunta
al siguiente elemento y el otro al elemento anterior. Al contrario que las listas abiertas
anteriores, estas listas pueden recorrerse en los dos sentidos.
ArrayList: Es una estructura de datos dinámica. A diferencia de los arreglos
tradicionales de tamaño fijo, un ArrayList puede crecer o encogerse automáticamente
durante la ejecución de un programa, lo que permite agregar o eliminar elementos
según sea necesario. Es una implementación de una lista basada en un arreglo
dinámico. Cuando la lista necesita crecer, crea un nuevo arreglo más grande y copia
los elementos existentes.
No Lineales
Arboles: Un árbol se define como un conjunto de uno o más nodos.
Existe un nodo especial llamado raíz.
Los restantes nodos o subárboles, cada uno de los cuales es, a su vez, un árbol.
Características.
• Tamaño variable: Pueden crecer o disminuir de tamaño durante la ejecución
del programa, sin necesidad de definir un tamaño fijo de antemano.
• Gestión de memoria: Las estructuras de datos dinámicas, como listas
enlazadas y árboles, permiten a los programas asignar y liberar memoria de
manera flexible, adaptándose a las necesidades cambiantes de los datos.
• Procesamiento de datos en tiempo real: En aplicaciones que manejan
flujos de datos continuos, como sistemas de monitoreo y análisis de redes,
las estructuras de datos dinámicas facilitan el procesamiento y la
actualización de la información de manera eficiente.
•
• Uso de punteros: Se basan en punteros para conectar los nodos
(elementos) entre sí, lo que permite establecer relaciones dinámicas entre
ellos.
• Asignación de memoria dinámica: La memoria se asigna durante el tiempo
de ejecución, en lugar de ser fijada antes de que el programa comience.
• Flexibilidad: Permiten operaciones de inserción y eliminación de elementos
en cualquier parte de la estructura de manera eficiente.
• No contiguas: La memoria utilizada por los nodos no tiene que estar en
ubicaciones contiguas, a diferencia de un array tradicional.
Ejemplo: Gestión de Productos.
Crea una clase producto con atributo nombre y precio. Escribe un programa
que permita agregar productos a un arrayList,Buscar un producto por su
nombre y eliminar por su nombre.
Explicación del código.
En la elaboración del código se utilizan 2 clases producto y GestionDeProducto
donde inicializan los atributos con constructores y se usa un ArrayList para
almacenar objetos de tipo Producto. Se implementa el uso de clases ya que nos
funcionan para crear objetos y organizar el código donde se agrupan atributos y
métodos relacionándolos con una sola unidad, para que se puedan moldear la
entidades.
Se utiliza la estructura dinámica ArrayList, que es parte de la biblioteca estándar de
Java y permite gestionar colecciones de datos de tamaño variable. Se Implemento
para gestionar una lista de productos. El uso de ArrayList es ideal porque permite
manejar colecciones dinámicas de datos, es decir, puedes agregar, buscar y eliminar
elementos sin preocuparte por el tamaño fijo de la colección.
Referencias.
Gonzalez, T. (2024, 13 junio). Ejercicios sobre Estructuras Dinámicas de Datos con
ArrayList en Java. ACADEMIA SANROQUE. https://academiasanroque.com/ejercicios-
sobre-estructuras-dinamicas-de-datos-con-arraylist-en-java/
V1 — Estructura de datos. (s. f.). https://uetitc.github.io/DataStructure-2024-
2/Lessons/Exams/First/V1.html
V1 — Estructura de datos. (s. f.). https://uetitc.github.io/DataStructure-2024-
2/Lessons/Exams/First/V1.html
ARATECNIA SISTEMAS Y SERVICIOS. (2024, 11 agosto). Estructura de datos dinámica
- ARATECNIA SISTEMAS Y SERVICIOS. ARATECNIA SISTEMAS y SERVICIOS.
https://aratecnia.es/glosario/estructura-de-datos-dinamica/