0
我正在學習實現樹算法,並且經常需要通過生成不同的二叉樹來測試我的算法,這是我手動完成的。我試着爲它編寫函數,但它不會生成所有可能的樹。任何幫助,高度讚賞。如何生成給定高度h的隨機二叉樹?
我正在學習實現樹算法,並且經常需要通過生成不同的二叉樹來測試我的算法,這是我手動完成的。我試着爲它編寫函數,但它不會生成所有可能的樹。任何幫助,高度讚賞。如何生成給定高度h的隨機二叉樹?
如果你使用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
指定編程語言 –
蟒蛇,Java或C++將做的工作。 –
對於給定的n個節點,二叉樹的數量是相等的加泰羅尼亞數是2 * n + 1,這是非常大的。生成n> 15的所有可能的樹在計算上非常困難。 – Daga