二叉搜索树证明叶子的数量

Binary search tree prove number of leaves

我要证明在二叉搜索树中,有两个 children 的节点数比叶子数少一。在网上通过归纳法找到了一些证明,但我想少处理这个问题'mathematically'。所以我想到了这个:

-我们只有一个根(它是一片叶子),所以我们有 1 个叶子和 0 个节点以及两个 children,好的。

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

-当我们有一个节点有 1 个 child 并且我们向它添加第二个 child 时,叶子的数量增加了,但是有两个 children 的节点的数量也增加了,所以这里 +1 那里 +1,还是相差 1,好的。

仅此而已,没有其他选项可以添加。所以,一开始 属性 'works' 只是一个叶子(根),然后无论我们如何添加到这棵树 - 属性 仍然会被保留。这是否足以证明有两个 children 的节点多了一个叶子?我应该添加一些东西(也许提到删除)吗?我知道这可能以某种方式写成正常的数学归纳法,但我想避免过于拘泥于形式,所以这是 'legit' 证明这一事实的方法吗?提前致谢。

你的解释基本上是归纳证明,所以是的,我会说它是'legit'。您关于我们何时只有一个根的第一个评论是基本情况。然后给定 属性 成立的二叉搜索树,您解释说在通过添加一个节点修改树后,属性 仍然成立。这就是归纳步骤。