DAA - метод извлечения
Метод извлечения используется для извлечения корневого элемента кучи. Ниже приводится алгоритм.
Algorithm: Heap-Extract-Max (numbers[])
max = numbers[1]
numbers[1] = numbers[heapsize]
heapsize = heapsize – 1
Max-Heapify (numbers[], 1)
return max
пример
Давайте рассмотрим тот же пример, рассмотренный ранее. Теперь мы хотим извлечь элемент. Этот метод вернет корневой элемент кучи.
![](https://post.nghiatu.com/assets/tutorial/design_and_analysis_of_algorithms/images/method.jpg)
После удаления корневого элемента последний элемент будет перемещен в корневую позицию.
![](https://post.nghiatu.com/assets/tutorial/design_and_analysis_of_algorithms/images/root_element.jpg)
Теперь будет вызвана функция Heapify. После Heapify создается следующая куча.
![](https://post.nghiatu.com/assets/tutorial/design_and_analysis_of_algorithms/images/heapify.jpg)