Встречается на собеседованиях • сегодня

Что такое Heap

Heap (куча) — это специализированная структура данных, представляющая собой почти полное бинарное дерево, удовлетворяющее свойству кучи: для min-heap каждый родительский узел меньше или равен своим потомкам, для max-heap — наоборот.

Основные операции:

  • heapify — преобразование списка в кучу за O(n)
  • heappush — добавление элемента за O(log n)
  • heappop — извлечение корня (min/max) за O(log n)

Пример с heapq (min-heap в Python):

python
import heapq

nums = [3, 1, 4, 1, 5]
heapq.heapify(nums)  # [1, 1, 4, 3, 5]
heapq.heappush(nums, 2)  # [1, 1, 2, 3, 5, 4]
print(heapq.heappop(nums))  # 1

Используется в алгоритмах (например, Dijkstra), сортировке (Heapsort) и приоритетных очередях. В Python heapq реализует min-heap, для max-heap элементы инвертируются.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы