DAA - metoda ekstrakcji
Metoda wyodrębniania służy do wyodrębniania elementu głównego sterty. Oto algorytm.
Algorithm: Heap-Extract-Max (numbers[])
max = numbers[1]
numbers[1] = numbers[heapsize]
heapsize = heapsize – 1
Max-Heapify (numbers[], 1)
return max
Przykład
Rozważmy ten sam przykład omówiony wcześniej. Teraz chcemy wyodrębnić element. Ta metoda zwróci element główny sterty.
![](https://post.nghiatu.com/assets/tutorial/design_and_analysis_of_algorithms/images/method.jpg)
Po usunięciu elementu głównego, ostatni element zostanie przeniesiony do pozycji głównej.
![](https://post.nghiatu.com/assets/tutorial/design_and_analysis_of_algorithms/images/root_element.jpg)
Teraz zostanie wywołana funkcja Heapify. Po Heapify generowana jest następująca sterta.
![](https://post.nghiatu.com/assets/tutorial/design_and_analysis_of_algorithms/images/heapify.jpg)