如何制作具有 6 个节点的完整二叉树?
How to make Full Binary Tree with 6 nodes?
我很了解满二叉树和完全二叉树。但是无法制作只有 6 个节点的完整二叉树。
答案是No
。你不能制作只有 6 个节点的完整二叉树。正如 Wikipedia 中的定义所说:
A full binary tree (sometimes referred to as a proper or plane
binary tree) is a tree in which every node has either 0 or 2
children. Another way of defining a full binary tree is a recursive
definition. A full binary tree is either:
A single vertex.
A tree whose root node has two subtrees, both of which are full binary trees.
我注意到另一个有趣的属性是,构成完整二叉树所需的节点数总是奇数。
详细说明@vivek_23的回答,不幸的是,这是不可能的。有一个美丽的定理如下:
Theorem: Any full binary tree has 2L - 1 nodes, where L is the number of leaf nodes in the tree.
这个定理背后的直觉其实很简单。想象一下,您采用一棵完整的二叉树并从中删除所有内部节点。你现在有一个 L 单节点完整二叉树的森林,每个叶子一个。现在,一次添加一个内部节点。每次这样做,您都会在森林中采摘两棵不同的树并将它们组合成一棵树,这会使森林中的树木数量减少一棵。这意味着你必须恰好有 L - 1 个内部节点,因为如果你有更少的节点,你将无法将森林中的所有树连接在一起,如果你有更多的节点,你将 运行没有树可以结合。
一棵满二叉树中的节点总数为 2L - 1,这意味着一棵满二叉树中的节点数始终为奇数,因此您无法创建具有 6 个节点的满二叉树。但是,您可以创建一个包含任意数量的奇数节点的完整二叉树 - 您能想出如何证明这一点吗?
希望对您有所帮助!
另一种查看完整二叉树节点数为奇数的方法:
从满二叉树的定义开始(Wikipedia):
a tree in which every node has either 0 or 2 children.
这意味着 child 个节点的总数是偶数(0+2+2+0+...+2 总是偶数)。只有一个节点不是另一个节点的子节点,即根节点。所以也考虑那个节点,总数变成奇数。
因此不存在具有 6 个节点的完整二叉树。
我很了解满二叉树和完全二叉树。但是无法制作只有 6 个节点的完整二叉树。
答案是No
。你不能制作只有 6 个节点的完整二叉树。正如 Wikipedia 中的定义所说:
A full binary tree (sometimes referred to as a proper or plane binary tree) is a tree in which every node has either 0 or 2 children. Another way of defining a full binary tree is a recursive definition. A full binary tree is either:
A single vertex.
A tree whose root node has two subtrees, both of which are full binary trees.
我注意到另一个有趣的属性是,构成完整二叉树所需的节点数总是奇数。
详细说明@vivek_23的回答,不幸的是,这是不可能的。有一个美丽的定理如下:
Theorem: Any full binary tree has 2L - 1 nodes, where L is the number of leaf nodes in the tree.
这个定理背后的直觉其实很简单。想象一下,您采用一棵完整的二叉树并从中删除所有内部节点。你现在有一个 L 单节点完整二叉树的森林,每个叶子一个。现在,一次添加一个内部节点。每次这样做,您都会在森林中采摘两棵不同的树并将它们组合成一棵树,这会使森林中的树木数量减少一棵。这意味着你必须恰好有 L - 1 个内部节点,因为如果你有更少的节点,你将无法将森林中的所有树连接在一起,如果你有更多的节点,你将 运行没有树可以结合。
一棵满二叉树中的节点总数为 2L - 1,这意味着一棵满二叉树中的节点数始终为奇数,因此您无法创建具有 6 个节点的满二叉树。但是,您可以创建一个包含任意数量的奇数节点的完整二叉树 - 您能想出如何证明这一点吗?
希望对您有所帮助!
另一种查看完整二叉树节点数为奇数的方法:
从满二叉树的定义开始(Wikipedia):
a tree in which every node has either 0 or 2 children.
这意味着 child 个节点的总数是偶数(0+2+2+0+...+2 总是偶数)。只有一个节点不是另一个节点的子节点,即根节点。所以也考虑那个节点,总数变成奇数。
因此不存在具有 6 个节点的完整二叉树。