...

/

Puzzle 4: Explanation

Puzzle 4: Explanation

Here’s how min heaps work in Python.

Try it yourself

Execute the code below to verify the result:

Press + to interact
from heapq import heappush, heappop
tasks = []
heappush(tasks, (30, 'work out'))
heappush(tasks, (10, 'wake up'))
heappush(tasks, (20, 0xCAFFE))
heappush(tasks, (20, 'feed cat'))
heappush(tasks, (40, 'write book'))
while tasks:
_, payload = heappop(tasks)
print(payload)

Explanation

The built-in heapq module implements min-heap over lists. It’s common to use a heap for a priority queue. Pushing and deleting from the heap are log(N) operations, and the first item in the heap (tasks[0]) is always the ...