Code Explanation:
Line 1: Importing the heapq Module
import heapq
This imports Python’s heapq library, which helps create and manage heaps (a special type of priority queue).
By default, heapq creates a min-heap, where the smallest element is always at the root.
Line 2: Creating a List
nums = [5, 1, 3, 2]
A normal Python list named nums is created.
Currently, it is just a list — not yet a heap.
Line 3: Converting the List into a Heap
heapq.heapify(nums)
heapify() rearranges the list into a min-heap structure.
After heapify, the smallest element moves to the front (index 0).
Internally, the list becomes something like: [1, 2, 3, 5] (heap order)
Line 4: Removing the Smallest Element
smallest = heapq.heappop(nums)
heappop() removes and returns the smallest element from the heap.
So smallest will store 1.
After popping 1, the heap reorganizes again and the next smallest moves to index 0.
Line 5: Printing the Output
print(smallest, nums[0])
smallest → prints the value removed (which is 1)
nums[0] → prints the new smallest element in the heap (which becomes 2)
Final Output
1 2


0 Comments:
Post a Comment