Respuestas modelo
Consulta aquí las respuestas correctas y explicaciones de las autoevaluaciones y los tests del manual. Ideal para repasar antes de un test o aclarar dudas.
4.03 · Pilas y Colas
16 preguntas con respuesta en este tema.
🎯 Autoevaluación (3)
¿Qué es una pila (stack)?
- A. Estructura LILO
- B. Estructura LIFO (Last In, First Out) ✓ CORRECTA
- C. Estructura FIFO
- D. Una lista desordenada
Pila: LIFO. El último en entrar es el primero en salir. Operaciones: push (apilar) y pop (desapilar).
¿En qué situaciones del mundo real usas una pila?
- A. Cola de impresión
- B. Deshacer (Ctrl+Z), navegación atrás, recursión ✓ CORRECTA
- C. Buffer de teclado
- D. Lista de reproducción
Pila: historial del navegador, undo/redo, llamadas a funciones, evaluación de expresiones.
¿Qué es una cola (queue)?
- A. LIFO
- B. FIFO (First In, First Out) ✓ CORRECTA
- C. Acceso aleatorio
- D. Una pila invertida
Cola: FIFO. El primero en entrar es el primero en salir. Como una cola de supermercado. Operaciones: enqueue, dequeue.
📝 Test · Sección A · Opción múltiple (10)
¿Qué es una pila (stack)?
- A. LIFO ✓ CORRECTA
- B. FIFO
- C. Lista
- D. Array
Pila: Last In, First Out. El último en entrar es el primero en salir.
Operaciones de una pila:
- A. push y pop ✓ CORRECTA
- B. enqueue y dequeue
- C. add y remove
- D. get y set
push (apilar) y pop (desapilar) son las operaciones básicas.
¿Qué es una cola (queue)?
- A. LIFO
- B. FIFO: First In, First Out ✓ CORRECTA
- C. Aleatoria
- D. Pila
Cola: FIFO. Como cola de supermercado.
Operaciones de una cola:
- A. push/pop
- B. enqueue/dequeue ✓ CORRECTA
- C. add/remove
- D. Cualquiera
enqueue: agregar al final. dequeue: sacar del frente.
Aplicación real de una pila:
- A. Cola de impresión
- B. Undo/Redo, navegación atrás, recursión ✓ CORRECTA
- C. Buffer de teclado
- D. Lista de reproducción
Pila: historial, navegación, llamadas a funciones (call stack), expresión evaluation.
Aplicación real de una cola:
- A. Undo
- B. Cola de impresión, BFS, buffer de tareas ✓ CORRECTA
- C. Pila de llamadas
- D. Stack
Cola: impresión, atención al cliente, BFS en grafos, task scheduling.
¿Cómo implementar una pila en C++?
- A. std::queue
- B. std::stack ✓ CORRECTA
- C. std::list
- D. std::array
std::stack es la implementación estándar. push, pop, top.
¿Cómo implementar una cola en C++?
- A. std::stack
- B. std::queue ✓ CORRECTA
- C. std::list
- D. std::vector
std::queue. push (enqueue), pop (dequeue), front, back.
¿Una pila es útil para verificar paréntesis balanceados?
- A. No
- B. Sí: apilar apertura, desapilar al cerrar ✓ CORRECTA
- C. Solo para calcular
- D. Solo con strings
Pila: recorre la expresión, apila "(", "[" o "{", al cerrar compara con el tope.
¿Qué es la cima (top) de una pila?
- A. El primer elemento insertado
- B. El último elemento insertado (el próximo a salir) ✓ CORRECTA
- C. El del medio
- D. No existe
Top: último insertado. Es el que se devuelve en pop.
✍️ Test · Sección B · Preguntas abiertas (3)
Implementa una pila con array. ¿Cómo detectarías stack overflow?
class Stack { T arr[MAX]; int top = -1; void push(T x) { if (top == MAX-1) throw overflow_error("Stack lleno"); arr[++top] = x; } T pop() { if (top == -1) throw underflow_error("Stack vacío"); return arr[top--]; } }.
Diseña un algoritmo para verificar paréntesis balanceados usando una pila.
Para cada caracter: si es apertura (([{), push a pila. Si es cierre )]}), verificar que el top sea el correspondiente y pop. Al final, pila debe estar vacía. Si en cualquier momento no coincide, no balanceado.
¿Cómo implementarías una cola con dos pilas?
Cola con stack de entrada (in) y stack de salida (out). enqueue: push a in. dequeue: si out está vacío, transferir todo de in a out (reverse), luego pop de out. Amortizado O(1).
📝 ¿Listo para evaluarte?
Regístrate o inicia sesión para tomar la autoevaluación o el test de este tema y registrar tu puntaje.