Heapq и bisect в Python: задачи на кучи и приоритетные очереди

У очереди событий меняются приоритеты, заявки устаревают, а после удаления максимума нужен следующий подходящий элемент. На таких задачах удобно проверить, действительно ли вы умеете работать с кучей. Отдельное упражнение посвящено минимальной стоимости объединения элементов, другое — поиску ближайшей точки через bisect. Сначала разберитесь, чем куча отличается от отсортированного списка: от этого зависит, какие операции поиска к ней применимы.

Как заниматься

5 заданий ниже можно проходить по порядку или выбирать нужную проблему. В заданиях на код есть проверка решения; в вопросах — проверка выбранного ответа. Требования к реализации и примеры приведены на страницах заданий.

Вся практика собрана в бесплатном большом задачнике по Python для разработчиков.

Смежная практика