Python: Accepts an arbitrary list and converts it to a heap using Heap queue algorithm
4. List to Heap Conversion
Write a Python function that accepts an arbitrary list and converts it to a heap using the heap queue algorithm.
Sample Solution:
Python Code:
import heapq as hq
raw_heap = [25, 44, 68, 21, 39, 23, 89]
print("Raw Heap: ", raw_heap)
hq.heapify(raw_heap)
print("\nHeapify(heap): ", raw_heap)
Sample Output:
Raw Heap: [25, 44, 68, 21, 39, 23, 89] Heapify(heap): [21, 25, 23, 44, 39, 68, 89]
Flowchart:

For more Practice: Solve these Related Problems:
- Write a Python program to convert an arbitrary list of integers into a heap using heapq.heapify and then print the resulting heap.
- Write a Python function that accepts any list and returns a heapified version, ensuring that the smallest element is at the root.
- Write a Python script to take a list of random numbers, convert it to a heap, and then demonstrate the heap property by printing successive heappop results.
- Write a Python program to transform a list into a heap using heapq and then verify the heap structure by checking that each parent node is less than or equal to its children.
Python Code Editor:
Have another way to solve this solution? Contribute your code (and comments) through Disqus.
Previous: Write a Python program to implement a heapsort by pushing all values onto a heap and then popping off the smallest values one at a time.
Next: Write a Python program to delete the smallest element from the given Heap and then inserts a new item.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.