- The heapq module in Python provides functions for constructing and manipulating min heaps.
- A min heap is a binary tree in which
- The child nodes contain values that are greater than or equal to the value of the root node.
- The root node has the smallest value.
- The heap invariant is maintained as new elements are added to the heap
- The heapq module has functions nsmallest(), nlargest() that return the specified number of largest elements or smallest elements from the heap.
- The function merge() takes multiple sorted sequences and produces a sorted sequence.
Example: Construct a min heap from a Python list
# Construct a min-heap
elements = [5, 15, 10, 45, 20, 30, 35, 25, 40, 50]
# Print the min heap
print("The min heap is:")
The min heap is:
[5, 15, 10, 25, 20, 30, 35, 45, 40, 50]