当给定节点数时,计算特定高度的有效二叉搜索树的总数

时间:2016-02-11 13:24:22

标签: c binary-search-tree

我们可以使用编号为1,2,3,4,5,6,7的7个节点创建多少个高度为6的有效二叉搜索树。任何人都可以解释一下逻辑吗?

我们如何使用C程序计算?

编辑:我尝试了以下两种组合:

1(根) - > 2 - > 3 - > 4 - > 5 - > 6 - > 7

7(root) - > 6 - > 5 - > 4 - > 3 - > 2 - > 1

我尝试的其他任何东西,高度都小于6.所以,我猜使用1到7的数字的可能有效BST的总数是2.我错了吗?

1 个答案:

答案 0 :(得分:1)

这里有一个提示,但请记住,这就像一个天真的暴力:

  • 为具有关联功能的简单二叉树编写C代码(如Tree_Constructor,Tree_Destructor,Tree_AddValue,Tree_GetHeight)。
  • 编写C代码,使所有组合都可以使用7值(1到7)
  • 对于每个组合,将所有数据插入二叉树并获得他的高度。
  • Tree_GetHeigth == 6? ++ nbAnswer
  • 下一个组合。

抱歉我的英语不好,这不是我的母语,希望你也能理解。