डीएए - ढेर विधि
Heapify विधि एक सरणी के तत्वों को पुनर्व्यवस्थित करती है जहां बाएं और दाएं उप-वृक्ष होता है ith तत्व ढेर संपत्ति का पालन करता है।
Algorithm: Max-Heapify(numbers[], i)
leftchild := numbers[2i]
rightchild := numbers [2i + 1]
if leftchild ≤ numbers[].size and numbers[leftchild] > numbers[i]
largest := leftchild
else
largest := i
if rightchild ≤ numbers[].size and numbers[rightchild] > numbers[largest]
largest := rightchild
if largest ≠ i
swap numbers[i] with numbers[largest]
Max-Heapify(numbers, largest)
जब प्रदान की गई सरणी ढेर संपत्ति का पालन नहीं करती है, तो हीप निम्न एल्गोरिथम के आधार पर बनाया गया है Build-Max-Heap (numbers[])।
Algorithm: Build-Max-Heap(numbers[])
numbers[].size := numbers[].length
fori = ⌊ numbers[].length/2 ⌋ to 1 by -1
Max-Heapify (numbers[], i)