w3resource

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:

Python heap queue algorithm: Accepts an arbitrary list and converts it to a heap using Heap queue algorithm.

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.



Follow us on Facebook and Twitter for latest update.