โครงสร้างข้อมูลฮีปสามารถใช้เพื่อแสดงลำดับความสำคัญได้ ใน python มีอยู่ในโมดูล heapq ที่นี่มันสร้าง min-heap ดังนั้นเมื่อลำดับความสำคัญเป็น 1 จะแสดงถึงลำดับความสำคัญสูงสุด เมื่อแทรกองค์ประกอบใหม่ โครงสร้างฮีปจะอัปเดต
ในการใช้โมดูลนี้ เราควรนำเข้าโดยใช้ −
นำเข้า heapq
มีการดำเนินการที่เกี่ยวข้องกับฮีป เหล่านี้คือ −
วิธีการ heapq.heapify(iterable)
ใช้เพื่อแปลงชุดข้อมูลที่ทำซ้ำได้เป็นโครงสร้างข้อมูลแบบฮีป
วิธีการ heapq.heappush(ฮีป องค์ประกอบ)
วิธีนี้ใช้เพื่อแทรกองค์ประกอบลงในฮีป หลังจากนั้น ฮีปโครงสร้างฮีปทั้งหมดอีกครั้ง
วิธีการ heapq.heappop(ฮีป)
วิธีนี้ใช้เพื่อส่งคืนและลบองค์ประกอบออกจากด้านบนของฮีปและดำเนินการ heapify กับองค์ประกอบที่เหลือ
วิธีการ heapq.heappushpop(ฮีป องค์ประกอบ)
วิธีนี้ใช้เพื่อแทรกและป๊อปองค์ประกอบในคำสั่งเดียว..
วิธีการ heapq.heapreplace(ฮีป องค์ประกอบ)
วิธีนี้ใช้เพื่อแทรกและป๊อปองค์ประกอบในคำสั่งเดียว มันลบองค์ประกอบออกจากรูทของฮีป จากนั้นแทรกองค์ประกอบลงในฮีป
เมธอด heapq.nlargest(n, iterable, key=None)
วิธีนี้ใช้เพื่อคืนค่า n องค์ประกอบที่ใหญ่ที่สุดจากฮีป
วิธีการ heapq.nsmallest(n, iterable, key=None)
วิธีนี้ใช้เพื่อคืนค่า n องค์ประกอบที่เล็กที่สุดจากฮีป
โค้ดตัวอย่าง
นำเข้า heapqmy_list =[58, 41, 12, 17, 89, 65, 23, 20, 10, 16, 17, 19]heapq.heapify(my_list)print(my_list)heapq.heappush(my_list, 7)print (my_list)print('Popped Element:' + str(heapq.heappop(my_list)))print(my_list)new_iter =list()new_iter =heapq.nlargest(4, my_list)print(new_iter)