Прочитав Гуидо. Сортировав миллион 32-битных целых чисел в 2 МБ ОЗУ с помощью Python , я обнаружил модуль heapq
, но концепция для меня довольно абстрактна.
Одна из причин заключается в том, что я не совсем понимаю концепцию кучи, но я понимаю, как Гвидо ее использовал.
Теперь, помимо его сумасшедшего примера, для чего бы вы использовали модуль heapq
?
Должен ли он всегда быть связан с сортировкой или минимальным значением? Вы используете это только потому, что это быстрее, чем другие подходы? Или вы можете делать действительно элегантные вещи, без которых вы не можете обойтись?