Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

การแทรกองค์ประกอบใน Interval Heaps


ขึ้นอยู่กับจำนวนขององค์ประกอบที่มีอยู่ในช่วงฮีป กรณีต่อไปนี้เป็นไปได้ -

  • จำนวนองค์ประกอบคี่:หากจำนวนขององค์ประกอบในฮีปช่วงเวลาเป็นเลขคี่ องค์ประกอบใหม่จะถูกแทรกในโหนดสุดท้ายในตอนแรก จากนั้น จะถูกเปรียบเทียบกับองค์ประกอบโหนดก่อนหน้าตามลำดับและทดสอบเพื่อให้ตรงตามเกณฑ์ที่จำเป็นสำหรับช่วงฮีป ในกรณีที่องค์ประกอบไม่ตรงตามเกณฑ์ใด ๆ องค์ประกอบนั้นจะถูกโอนจากโหนดสุดท้ายไปยังรูทจนกว่าจะตรงตามเงื่อนไขทั้งหมด
  • จำนวนองค์ประกอบคู่:หากจำนวนองค์ประกอบเป็นเลขคู่ ดังนั้นสำหรับการแทรกองค์ประกอบใหม่ โหนดพิเศษจะถูกสร้างขึ้น หากองค์ประกอบตกหรืออยู่ทางด้านซ้ายของช่วงหลัก องค์ประกอบนั้นจะอยู่ในฮีปขั้นต่ำ และหากองค์ประกอบนั้นอยู่หรืออยู่ทางด้านขวาของช่วงพาเรนต์ องค์ประกอบนั้นจะถือว่าอยู่ในฮีปสูงสุด นอกจากนี้ยังมีการเปรียบเทียบอย่างต่อเนื่องและถ่ายโอนจากโหนดสุดท้ายไปยังรูทจนกว่าจะตรงตามเงื่อนไขทั้งหมดสำหรับช่วงเวลาฮีป หากองค์ประกอบอยู่หรืออยู่ภายในช่วงเวลาของโหนดหลักเอง กระบวนการจะยุติลง จากนั้นเองและการถ่ายโอนองค์ประกอบจะไม่สำเร็จ เวลาที่ใช้ในการแทรกองค์ประกอบขึ้นอยู่กับจำนวนการเคลื่อนไหวที่จำเป็นเพื่อให้เป็นไปตามเงื่อนไขทั้งหมดและเป็น O(log n)