Af3 2132150
Af3 2132150
Eléctrica
VAZQUEZ
Grupo 004
Hora V5
Salón 2103
Actividad Fundamental 3
Alumna: Quijas Saldaña Luz Evangelina
Matrícula: 2132150
Pilas
Una pila es una estructura de datos lineal que sigue el principio de "último en
entrar, primero en salir" (LIFO, por sus siglas en inglés: Last In, First Out).
Esto significa que el último elemento que se inserta es el primero en ser
retirado. Las pilas son utilizadas comúnmente en programación para gestionar
datos de manera eficiente.
Tienen dos operaciones principales:
Push (Empujar): Añade un elemento a la pila.
Pop (Sacar): Elimina el último elemento añadido a la pila.
Además, suele haber una operación adicional:
Top (Tope): Retorna el último elemento añadido a la pila sin eliminarlo.
Características
Estructura Dinámica:
Las pilas son estructuras dinámicas que pueden crecer o decrecer según la
cantidad de elementos que se añadan o retiren.
Eficiencia:
Las operaciones Push y Pop son eficientes y rápidas, generalmente
ejecutándose en tiempo constante O(1).
Se utilizan en situaciones donde la última operación realizada es la primera
que debe deshacerse, como en el manejo de llamadas a funciones (pilas de
llamadas), la reversión de texto o la evaluación de expresiones aritméticas.
Pueden implementarse utilizando arreglos o listas enlazadas. En algunos
lenguajes de programación, hay estructuras de datos específicas para pilas.
Ejemplos de Aplicación
Gestión de llamadas a funciones en programas.
Implementación de algoritmos recursivos.
Evaluación de expresiones aritméticas (notación posfija).
Historial de acciones en un software (deshacer y rehacer).
Conclusiones
Las pilas son una herramienta valiosa en el arsenal del programador. Su
diseño simple y operaciones eficientes las convierten en una opción frecuente
para resolver problemas en la programación y la implementación de
algoritmos. La comprensión profunda de las pilas y su aplicación adecuada
contribuyen significativamente al desarrollo de software robusto y eficiente.
Colas
Introducción
Las colas son una estructura de datos fundamental en ciencias de la
computación y programación. Siguiendo el principio de "primero en entrar,
primero en salir" (FIFO), las colas se utilizan para organizar y gestionar datos
de manera eficiente en diversos contextos. Este informe explora las
características, aplicaciones y ventajas de las colas como estructura de datos.
Características
FIFO (First In, First Out): La principal característica de una cola es su
comportamiento FIFO, donde el primer elemento que se añade es el primero
en ser eliminado.
Operaciones Básicas:
Enqueue: Añadir un elemento al final de la cola.
Dequeue: Eliminar el elemento al principio de la cola.
Front: Obtener el elemento al principio de la cola sin eliminarlo.
Las colas tienen una Estructura Dinámica, pueden crecer o decrecer
dinámicamente según la cantidad de elementos que se añadan o retiren.
Las operaciones Enqueue y Dequeue suelen ejecutarse en tiempo constante
O(1), lo que las hace eficientes para la gestión de datos.
Aplicaciones Comunes
Gestión de Tareas Pendientes:
Colas se utilizan para gestionar tareas pendientes en sistemas donde las tareas
deben procesarse en el orden en que se recibieron.
Colas de Impresión:
En sistemas operativos, las colas de impresión se utilizan para organizar los
trabajos de impresión y garantizar que se impriman en el orden correcto.
Algoritmos de Búsqueda por Amplitud:
En la búsqueda por amplitud en grafos, las colas se utilizan para explorar
nodos en el orden en que se descubren.
Modelado de Sistemas de Servicio al Cliente:
Las colas son esenciales para modelar sistemas de servicio al cliente, donde
las solicitudes se procesan en el orden de llegada.
Conclusiones
Las colas son una herramienta esencial en la programación y la resolución de
problemas computacionales. Su estructura simple y eficiente las convierte en
una elección común para diversas aplicaciones. Comprender sus
características y aplicaciones es fundamental para desarrolladores y
programadores, ya que las colas desempeñan un papel crucial en la
optimización de algoritmos y la gestión eficiente de datos.
Listas
Introducción
Las listas son una estructura de datos versátil y fundamental en ciencias de la
computación y programación. A diferencia de las estructuras lineales más
simples, como pilas y colas, las listas permiten el almacenamiento de
elementos de manera dinámica y flexible. Este informe explora las
características, implementaciones y aplicaciones de las listas como estructura
de datos.
Características
Las listas tienen una estructura dinámica y a diferencia de las estructuras de
datos estáticas, las listas permiten una gestión dinámica de la memoria, lo que
facilita la inserción y eliminación de elementos en cualquier posición.
Así mismo suelen implementarse mediante enlaces entre elementos, lo que
permite una representación flexible y el acceso secuencial a los datos.
Algunas implementaciones de listas, como las listas enlazadas y las listas
doblemente enlazadas, admiten el acceso aleatorio a los elementos, lo que
facilita la búsqueda eficiente de datos.
Operaciones Comunes
1. Inserción y Eliminación: Las listas permiten la inserción y eliminación
eficiente de elementos en cualquier posición, incluso en el medio de la lista.
2. Búsqueda y Acceso Aleatorio: Dependiendo de la implementación,
algunas listas permiten la búsqueda eficiente de elementos y el acceso directo
a través de índices.
Aplicaciones Comunes
Gestión de Datos Dinámicos: Las listas son ideales para gestionar conjuntos
de datos cuyo tamaño puede cambiar dinámicamente durante la ejecución de
un programa.
Implementación de Estructuras de Datos más Complejas: Las listas sirven
como base para implementar estructuras de datos más complejas, como pilas,
colas y árboles.
Aplicaciones en Bases de Datos: Las listas son esenciales en la gestión y
representación de datos en bases de datos y sistemas de almacenamiento.
Conclusiones
En resumen, las listas son una herramienta fundamental en el desarrollo de
software. Su capacidad para gestionar datos de manera dinámica y flexible las
convierte en una opción valiosa en una variedad de aplicaciones. La elección
entre diferentes tipos de listas y su implementación adecuada depende de los
requisitos específicos de cada problema. La comprensión profunda de las
listas y su aplicación adecuada contribuyen significativamente a la eficiencia y
claridad del código.
Bibliografía
https://www.uv.mx/personal/ermeneses/files/2021/08/Clase7-Pilas.pdf
Castro, S. (2023, 5 febrero). ¿Qué es una pila en programación? Fundamentos de la
Programación. https://www.fundamentosprogramacion.site/2023/01/que-es-una-
pila-en-programacion.html
https://sites.google.com/site/programacioniiuno/temario/unidad-3---estructuras-de-
datos-comunes-y-colecciones/la-estructura-lista
Del Castillo, B. (2023, 20 junio). Estructuras de datos en programación: Listas - Smartick.
Smartick. https://www.smartick.es/blog/otros-contenidos/programacion/listas/
Programación. https://www.fundamentosprogramacion.site/2023/01/que-es-una-
cola-en-programacion.html