2015-12-27 28 views
0

我正在學習實現樹算法,並且經常需要通過生成不同的二叉樹來測試我的算法,這是我手動完成的。我試着爲它編寫函數,但它不會生成所有可能的樹。任何幫助,高度讚賞。如何生成給定高度h的隨機二叉樹?

+0

指定編程語言 –

+0

蟒蛇,Java或C++將做的工作。 –

+0

對於給定的n個節點,二叉樹的數量是相等的加泰羅尼亞數是2 * n + 1,這是非常大的。生成n> 15的所有可能的樹在計算上非常困難。 – Daga

回答

0

如果你使用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