Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tree 如何生成给定高度h的随机二叉树?_Tree_Binary Tree_Random Testing - Fatal编程技术网

Tree 如何生成给定高度h的随机二叉树?

Tree 如何生成给定高度h的随机二叉树?,tree,binary-tree,random-testing,Tree,Binary Tree,Random Testing,我正在学习实现树算法,通常我需要通过生成不同的二叉树来测试我的算法,这是我手动完成的。我尝试为它编写函数,但它不会生成所有可能的树。非常感谢您的帮助。如果您使用Python,可能您需要的就是binarytree模块 >>> from binarytree import tree >>> t = tree(height=3) >>> t.pprint() _______8_____ /

我正在学习实现树算法,通常我需要通过生成不同的二叉树来测试我的算法,这是我手动完成的。我尝试为它编写函数,但它不会生成所有可能的树。非常感谢您的帮助。

如果您使用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生成所有可能的树在计算上非常困难。