En Python, el módulo heapq
proporciona una cola de prioridad.Eliminar un elemento de una cola de prioridad
Tiene métodos para insertar y abrir elementos.
¿Cómo se elimina un elemento que ha insertado que no es la prioridad más baja de la cola?
(recetas alternativas para hacer esto utilizando otras colecciones alternativas también son bienvenidos)
¿Pero eso destruirá la invariante de montón? – Will
@Will: heapify() restaura el invariante. – Macke
@Will, Macke: Perdón por la confusión. Primero publiqué una versión que no mencionaba que tenía que volver a llamar a 'heapify()', pero se corrigió de inmediato. –