Как сгенерировать случайное двоичное дерево заданной высоты h?
Я учусь реализовывать древовидные алгоритмы, и часто мне нужно проверять свои алгоритмы, генерируя различное двоичное дерево, что я делаю вручную. Я попытался написать функции для него, но он не будет генерировать все возможные деревья. Любая помощь высоко ценится.
1 ответ
Если вы используете Python, возможно, binarytree
Модуль это то, что вам нужно
>>> from binarytree import tree
>>> t = tree(height=3)
>>> t.pprint()
_______8_____
/ \
___3___ 2
/ \ / \
14 _4 _5 12
/ \ / \ / \
6 7 10 0 13 11