【发布时间】:2015-01-05 13:14:16
【问题描述】:
我们的 powerpoint 中的一个答案说它是 n/2 片叶子,但我看到另一个答案是 (n+1)/2。我想知道哪一个是正确的,如果有的话,为什么?
【问题讨论】:
标签: tree nodes binary-search-tree
我们的 powerpoint 中的一个答案说它是 n/2 片叶子,但我看到另一个答案是 (n+1)/2。我想知道哪一个是正确的,如果有的话,为什么?
【问题讨论】:
标签: tree nodes binary-search-tree
在最简单的情况下,具有根节点、左节点和右节点的二叉树有 3 个节点,其中两个是叶节点。它是(n+1)/2。
【讨论】:
如果你的节点总数是n,而i是内部节点的总数,即度数为1。如果考虑的树是二叉树,那么这个关系成立。
2i + 3 = n。根节点和叶节点不是内部节点。
因此,2i + 3 = 1 + i + l 其中l 是叶节点的数量。
这给了我们i + 2 = l。我们知道i = (n-3)/2。因此,l = (n+1)/2。希望这会有所帮助
【讨论】:
如果有人说 n/2 是错误的,那么 (n+1)/2 也应该是错误的。 当分子是奇数时,您不会得到自然数,因此您必须考虑下限或上限值。 所以,如果你要把它当作 (n/2) 那么你应该把它上限, 如果你打算把它当作 (n+1)/2 那么你应该把它放在地板上。
【讨论】:
n 总是一个奇数。因此(n+1)/2 不需要天花板或地板。