Saltar al contenido

Montículos

Python · Unidad 24: Estructuras de datos

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. 1. Predice la salida

    ¿Qué imprime este código?

  2. 2. Completa el código

    Saca el más urgente. Debe imprimir: 1

  3. 3. Predice la salida

    heapify convierte una lista que ya tienes en un montículo. ¿Qué imprime?

  4. 4. Opción múltiple

    Metes 5, 1 y 3 a un montículo con heappush. ¿Qué puedes asegurar de la lista?

  5. 5. Encuentra el bug

    Debe imprimir el número más chico del montículo. ¿Qué línea tiene el error?

  6. 6. Predice la salida

    El 1 es lo más urgente. ¿Qué imprime?

  7. 7. Ordena las líneas

    Ordena urgente(tareas), que recibe pares [prioridad, tarea] y regresa el nombre de la más urgente.

  8. 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. 9. Predice la salida

    Entran y salen tareas mezcladas. ¿Qué imprime?

Hacer esta lección

Se abre en el navegador. Esta lección es del plan completo; la primera unidad de cada curso es gratis.

Ver todas las lecciones →