Как сгенерировать случайное двоичное дерево заданной высоты 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
Другие вопросы по тегам