Аналогично этому вопросу выводить двоичное дерево по уровням в python но как мне это сделать с помощью Python Heap?
import heapq
H = [21,1,45,78,3,5,6]
# Covert to a heap
heapq.heapify(H)
print(H)
# Add element
heapq.heappush(H,8)
print(H)
# Remove element from the heap
heapq.heappop(H)
print(H)
# Replace an element
heapq.heapreplace(H,6)
print(H)
При печати кучи здесь она просто выводится в виде списка, я думаю из прохождения порядка уровней. Должна быть какая-то внутренняя древовидная структура данных, используемая Python для функции heapify, верно? В моей куче разрешены дубликаты, поэтому я не могу преобразовать их в BST, как в примере. Как распечатать древовидную структуру кучи Python? Нужно ли для этого заново создавать собственный класс кучи?