heapq --- อัลกอริทึม heap queue

โมดูลนี้ implement อัลกอริทึม min heap queue

heap queue โดยพื้นฐานแล้วคือ list ที่มีการจัดเก็บ element ในลักษณะที่ item แรกของ list เป็น element ที่เล็กที่สุดเสมอ การแทรกและการลบค่าขั้นต่ำเป็นการดำเนินการ O(log n) ทำให้ heap เป็นการ implement priority-queue ที่สะดวกบน plain list

ฟังก์ชัน

heapq.heappush(heap: list, item: Any) None

Push item ลงใน heap

heapq.heappop(heap: list) Any

Pop item แรกออกจาก heap และคืนค่า raise IndexError หาก heap ว่างเปล่า

item ที่คืนมาจะเป็น item ที่เล็กที่สุดใน heap

heapq.heapify(x: list) None

แปลง list x เป็น heap การดำเนินการนี้เป็นแบบ in-place