Показать кучу на каждом этапе, когда следующие числа вставляются в изначально пустую мин-кучу в указанном порядке: {11, 17, 13, 4, 4, 1 }
. Теперь покажите кучу на каждом этапе, когда мы последовательно выполняем операцию удаления в куче, пока она не станет пустой.
Вот ответ / контрольная точка, которую я получаю:
![1]https://imgur.com/zu47RIF
У меня есть 2вопросы, пожалуйста:
Я не понимаю, когда мы вставляем элемент 4
во второй раз, почему мы сдвигаем 11
, чтобы сделать его правильным потомком старого элемента / во-первыхвставленный элемент 4
? Это потому, что мы хотим удовлетворить требование полного двоичного дерева, то есть каждый узел на уровнях от 1
до k - 2
имеет ровно 2 дочерних элемента (k = уровни деревьев, уровень k - самый нижний уровень)?
Я не понимаю, как мы deleteMin = 1
, 13
становимся правым потомком вновь родителя 11
(который является левым потомком 4
),Просто быстрое замечание, что мой инструктор дал классу 2 способа удаления мин. Другой способ мне подходит - это просто обратный процесс вставки.