ลองทำสิ่งต่อไปนี้:
น้ำหนักขององค์ประกอบฉันในกองHคือความลึกของมันในต้นไม้ไบนารีที่สอดคล้องกัน ดังนั้นองค์ประกอบในรูตจึงมีศูนย์น้ำหนักลูกทั้งสองของมันจึงมีน้ำหนัก 1 และอื่น ๆ คุณกำหนดเป็นฟังก์ชันที่มีศักยภาพWผมผมH
Φ ( H) = ∑ฉัน∈ H2 วัตต์ผม.
ให้เราวิเคราะห์การดำเนินการฮีป สำหรับแทรกคุณเพิ่มใหม่ลึกองค์ประกอบเพิ่มที่มากที่สุดเข้าสู่ระบบ( n ) นี้จะเพิ่มศักยภาพโดย2 dและสามารถทำได้ในO ( 1 )เวลา จากนั้นคุณ "เพิ่มฟอง" องค์ประกอบกองใหม่เพื่อให้มั่นใจถึงกองสมบัติ นี้จะใช้เวลาO ( บันทึกn )เวลาและใบΦ ( H )ไม่เปลี่ยนแปลง ดังนั้นค่าใช้จ่ายสำหรับการแทรกคือO ( log ( n ) + Δ ( Φ (dเข้าสู่ระบบ( n )2 วันO ( 1 )O ( บันทึกn )Φ ( H) )O ( บันทึก( n ) + Δ ( Φ ( H)) ) ) = O ( บันทึกn )
ตอนนี้พิจารณาextractMin คุณนำรูทออกและแทนที่ด้วยอิลิเมนต์สุดท้ายในฮีป นี่คือการลดศักยภาพโดยจึงทำให้คุณสามารถที่จะซ่อมแซมทรัพย์สินกองและดังนั้นค่าใช้จ่ายตัดจำหน่ายอยู่ในขณะนี้O ( 1 )2 บันทึก( n )O ( 1 )
หากคุณมีคำถามทั่วไปสำหรับฟังก์ชันที่อาจเกิดขึ้นคุณควรตั้งคำถามนี้เป็นคำถามอื่น