как печатать кучу как дерево - PullRequest
0 голосов
/ 06 ноября 2019

Аналогично этому вопросу выводить двоичное дерево по уровням в 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? Нужно ли для этого заново создавать собственный класс кучи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...