algorithm - 作为树的高度函数的可能二叉树的数量之间是否存在联系?

标签 algorithm data-structures binary-tree catalan

处理平衡和不平衡的二叉树。

height = 0, possible trees = 1 (nothing)
height = 1, possible trees = 1 (leaf)
height = 2, possible trees = 3

我正在查看 Catalan 函数,但它并没有给我带来任何好处,主要是因为我认为它可能会计算高度小于 h 的树。例如,如果高度为 2,我相信它也会计算高度 1(也可能是高度 0)。

最佳答案

您似乎在寻找整数序列 A001699 ,“高度为n的二叉树的数量”。生成它们的一种可能算法是:

a(n+1) = 2*a(n)*(a(0)+...+a(n-1))+a(n)^2

不幸的是,似乎没有封闭形式的版本。每个公式本身都是递归的,或者用A003095,也是递归的。

关于algorithm - 作为树的高度函数的可能二叉树的数量之间是否存在联系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28284267/

相关文章:

python - Pyaudio - 将声音数据转换为字符串的算法

algorithm - 如果它们需要 O(n) 时间对列表进行排序,为什么我们不使用尝试进行排序?

c - 解释一下这种在数组中获取输入的方法

python - leaves_and_internals 函数

java - 在二叉搜索树中查找 K 个最大元素

java - Java中的继承,无法访问子类函数/方法

php - 检测文章中的趋势 "reactions"(一个或多个)(如 Buzzfeed 等)

python - lambda 与列表理解性能

c++ - 使用通用 vector 大小类型的最佳方法是什么?

c - C中函数指针在数据结构开发中的使用