awesome-everything EN
↑ Обратно к восхождению

Алгоритмы с нуля

Heap: свободное припоминание

Суть Подсказки на свободное припоминание по всему юниту heap. Сначала ответьте своими словами, затем откройте эталонный ответ и сравните.
Высота — путь к senior
НольJuniorMiddleSenior
Ты на middle-высоте — в небе
◷ 13 min

Припоминание сильнее перечитывания. Для каждой подсказки скажите или запишите полный ответ по памяти, прежде чем открыть эталон — именно усилие припоминания закрепляет модель heap.

Цель

Восстановите стержень юнита, не подглядывая: двусоставный инвариант heap, аргумент O(n) для build-heap, контракт priority queue, приём «heap размера k» для top-k и k-way merge и то, как heap-sort вытекает из pop.

Вспомните перед уходом
  1. 01
    Назовите два свойства, определяющие binary heap, и объясните, почему они позволяют хранить его как плоский массив без указателей.
  2. 02
    Пройдите push и pop и объясните, почему каждая операция есть O(log n).
  3. 03
    Почему build-heap есть O(n), а вставка n элементов по одному — O(n log n)?
  4. 04
    Различите ADT priority queue и binary heap и назовите, когда различие меняет проект.
  5. 05
    Объясните приём «heap размера k» и как одна идея решает и top-k, и k-way merge.
  6. 06
    Как heap-sort вытекает из операций heap и каковы его время и память?
Итог

Если вы восстановили каждый ответ по памяти, у вас есть стержень юнита: пара «полнота + свойство heap» даёт массив без указателей и peek за O(1); sift-up/sift-down дают push/pop за O(log n); build-heap достигает O(n), взвешивая стоимость по высоте узла; контракт PQ отделён от heap, его реализующего; heap размера k превращается в top-k (min-heap, вытеснить корень) и k-way merge (по одному кандидату от списка, продвижение по индексу); а heap-sort — это просто build-heap плюс повторный pop, гарантированный O(n log n), память O(1).

Продолжить восхождение ↑Heap: чтение кода
хоткеи развернуть
поиск
K
пред. пьеса
k
след. пьеса
j
тиры
t
это меню
?
sources3
expand
  1. 01
  2. 02
  3. 03

Trademarks belong to their respective owners. Editorial reference only.