PYTHON PROGRAM • JSON, CSV & COLLECTIONS

Use a Priority Queue with heapq in Python

Learn use a priority queue with heapq in python with a short, executable Python example.

IntermediateheapqPriority queue

PROBLEM UNDERSTANDING

Input and expected output

Sample input
No input required
Sample output
[1, 2, 5, 7]

COMPLETE PYTHON PROGRAM

Complete Python implementation

python-heapq.py
Open in compiler
import heapq
values = [7, 2, 5, 1]
heapq.heapify(values)
print([heapq.heappop(values) for _ in range(4)])

GUIDED CODE TOUR • NOT LIVE EXECUTION

Study the program line by line

Use the real compiler button above to run and debug with different inputs.

CURRENT STEP

Select Start to walk through the important lines.

SELECTED LINE

No line selected

EXPECTED OUTPUT FOR THE SAMPLE

[1, 2, 5, 7]
0%Step 0 of 0

PROGRAM EXPLANATION

Algorithm and explanation

  1. Import the required standard-library tools and prepare the sample data for use a priority queue with heapq.
  2. Process the data step by step using heapq and Priority queue.
  3. Display the result for use a priority queue with heapq and compare it with the documented sample output.

This example of use a priority queue with heapq processes the sample values in a controlled iteration. It demonstrates heapq and Priority queue and prints a deterministic result that can be checked against the sample output.

EFFICIENCY

Time and space complexity

Time complexity

O(n log n)

Auxiliary space

O(n)

DEBUGGING CHECKLIST

Common mistakes

Check this

For use a priority queue with heapq, keep the data shape and value types consistent with heapq.

Check this

Keep every dependent statement inside the correct indented Python block.

Check this

Verify the final heapq and Priority queue result against the sample before trying new data.

Try it yourself

Practice: Run the program with the sample input, predict its output, and then test one boundary case of your own.