Montículos
Python · Unidad 24: Estructuras de datos
- Plan completo
- Python
- 9 ejercicios
A veces no importa quién llegó primero, sino qué urge más. Para eso está el montículo: una lista de la que siempre sale el menor.
El módulo heapq la maneja: heappush mete un valor y heappop saca el más chico, sin importar cuándo entró.
import heapq
h = []
heapq.heappush(h, 5)
heapq.heappush(h, 1)
print(heapq.heappop(h))Imprime
1
El resto de la explicación está en la lección, que es del plan completo.
Ejercicios de esta lección
Se hacen en la app, que los corrige al momento y explica por qué.
1. Predice la salida
¿Qué imprime este código?
2. Completa el código
Saca el más urgente. Debe imprimir: 1
3. Predice la salida
heapifyconvierte una lista que ya tienes en un montículo. ¿Qué imprime?4. Opción múltiple
Metes 5, 1 y 3 a un montículo con
heappush. ¿Qué puedes asegurar de la lista?5. Encuentra el bug
Debe imprimir el número más chico del montículo. ¿Qué línea tiene el error?
6. Predice la salida
El 1 es lo más urgente. ¿Qué imprime?
7. Ordena las líneas
Ordena
urgente(tareas), que recibe pares[prioridad, tarea]y regresa el nombre de la más urgente.8. Encuentra el caso que falla
mas_urgente(nums)debe regresar el número más chico de la lista, o 0 si la lista está vacía. ¿Con cuál llamada falla?9. Predice la salida
Entran y salen tareas mezcladas. ¿Qué imprime?
Se abre en el navegador. Esta lección es del plan completo; la primera unidad de cada curso es gratis.