¿Qué es una estructura de datos?
Es una forma organizada de alcanzar y gestionar información para facilitar su acceso y modificación.
¿Qué principio sigue una pila?
LIFO (Last In, First Out), el último en entrar es el primero en salir.
¿Qué principio sigue una cola?
FIFO (First In, First Out), el primero en entrar es el primero en salir.
¿Qué estructura usa LIFO y cuál usa FIFO?
La pila usa LIFO y la cola usa FIFO.
¿Por qué son importantes las estructuras de datos en la programación?
Porque permitir optimizar recursos, mejorar la eficiencia de los algoritmos y resolver problemas de manera ordenada.
¿Qué operación se usa para agregar un elemento a una pila?
La operación Push.
¿Qué operaciones básicas tiene una cola?
Enqueue (insertar), Dequeue (eliminar), Front (ver el primero)
Menciona un ejemplo de pila y otro de cola en la vida real.
Pila: una torre de platos.
Cola: fila de personas esperando su turno.
¿Qué diferencia hay entre estructuras lineales y no lineales?
En las lineales los elementos se organizan uno tras otro, mientras que en las no lineales cada elemento puede tener múltiples conexiones.
¿Qué diferencia hay entre las operaciones Pop y Peek?
Pop elimina el elemento superior, mientras que Peek solo lo muestra sin eliminarlo.
¿Qué diferencia hay entre una cola simple y una cola circular?
En la circular, el último elemento se conecta al primero y en la simple no.
¿Por qué una pila es útil en el control de llamadas a funciones?
Porque guarda el contexto de cada función para poder regresar correctamente cuando una termina.
¿Qué consecuencias puede tener elegir una estructura de datos inadecuada en un programa?
Puede provocar bajo rendimiento, uso excesivo de memoria y mayor complejidad en el manejo de la información.
¿Cómo se podría usar una pila para invertir una cadena de texto?
Se apilan los caracteres uno a uno y luego se desapilan, obteniendo la cadena en orden inverso.
¿Qué ventaja tiene una cola de prioridad sobre una cola normal?
Los elementos se procesan según su prioridad y no estrictamente por orden de llegada.
¿En qué tipo de problema sería más conveniente usar una cola en lugar de una pila?
En procesos donde el orden de llegada debe respetarse, como atención de tareas, solicitudes o turnos.
¿Cómo influye la estructura de datos elegida en la complejidad temporal y espacial de un algoritmo?
Determina la eficiencia en tiempo de ejecución (complejidad temporal) y el uso de memoria (complejidad espacial); una elección errónea puede incrementar significativamente ambas.
¿Cómo se utiliza una pila en la evaluación de una expresión aritmética en notación postfija?
Los operandos se apilan y, al encontrar un operador, se desapilan los dos últimos operandos para aplicar la operación, apilando el resultado nuevamente hasta obtener el valor final.
¿Cómo se implementa una cola circular usando un arreglo en memoria?
Se usan dos punteros (Front y Rear) que avanzan de forma modular (usando el operador “% tamaño”), para que al llegar al final del arreglo vuelvan al inicio.
¿Qué ventajas y desventajas comparativas tienen pilas y colas en términos de concurrencia?
Las colas son más adecuadas para la comunicación entre hilos o procesos, mientras que las pilas son más útiles en contextos recursivos. Sin embargo, las colas requieren más control de sincronización.