डीएए - ढेर विधि

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)