二进制搜索树证明叶子的数量

时间:2016-05-23 00:06:49

标签: binary-search-tree proof

我必须证明在二叉搜索树中,有两个孩子的节点数比叶子数少一个。我在互联网上通过归纳找到了一些证据,但我想在数学上更少地解决这个问题'所以我想到了这个:

- 我们只有一个根(它是一个叶子),所以我们有1个叶子和0个带有两个孩子的节点,OK。

- 当我们有一个没有子节点的节点时,我们向它添加一个子节点 - 叶子的数量保持不变(我们添加的节点不再是一个叶子,但新的子节点是)和两个节点的数量孩子们保持不变。

- 当我们有一个带有1个孩子的节点并且我们添加了第二个孩子时,叶子的数量增加,但是有两个孩子的节点的数量也增加,所以+1在这里和+1那里,仍然相差1,行。

就是这样,没有其他选择可以添加。因此,在一开始该财产的工作'只有一个叶子(根),然后无论我们如何添加到这个树 - 属性仍将保留。这足以证明除了有两个孩子的节点之外还有一片叶子吗?我应该添加一些东西(可能会提到删除)吗?我知道这可能会以某种方式写成正常的数学归纳,但我想避免过多的形式,所以这是一个合法的“#”。证明这个事实的方法?提前谢谢。

1 个答案:

答案 0 :(得分:0)

你的解释基本上都是归纳的证明,所以是的,我会说它是合法的#39;关于我们何时拥有单个根的第一条评论是基本案例。然后给定属性所包含的二叉搜索树,您可以解释在通过添加一个节点修改树之后,该属性仍然成立。这就是诱导步骤。