DAA - วิธีการแยก
วิธีการแยกใช้เพื่อแยกองค์ประกอบรากของฮีป ต่อไปนี้เป็นอัลกอริทึม
Algorithm: Heap-Extract-Max (numbers[])
max = numbers[1]
numbers[1] = numbers[heapsize]
heapsize = heapsize – 1
Max-Heapify (numbers[], 1)
return max
ตัวอย่าง
ขอให้เราพิจารณาตัวอย่างเดียวกับที่กล่าวไว้ก่อนหน้านี้ ตอนนี้เราต้องการแยกองค์ประกอบ วิธีนี้จะคืนค่าองค์ประกอบรากของฮีป
หลังจากลบองค์ประกอบรากแล้วองค์ประกอบสุดท้ายจะถูกย้ายไปที่ตำแหน่งราก
ตอนนี้ฟังก์ชัน Heapify จะถูกเรียกใช้ หลังจาก Heapify ฮีปต่อไปนี้จะถูกสร้างขึ้น