完全二叉树是一种特殊的二叉树,它的定义如下:
树中的每个节点都包含一个值。
完全二叉树是按照从上到下、从左到右的顺序依次填充节点的二叉树。也就是说,从根节点开始,先填充左子节点,然后是右子节点,然后是左子节点的左子节点,依此类推,直到所有节点都被填充。
如果某个节点缺少左子节点或右子节点,那么它的子树也必须是完全二叉树,即缺少的节点在子树的最右边。
完全二叉树的特点是,除了最后一层可能不满外,其他层的节点数都达到最大值,并且最后一层的节点都集中在左侧。这使得完全二叉树在存储和遍历上具有一些特殊的性质,可以使用数组来表示,且具有较高的效率。
以下是一个示例完全二叉树的图示:
1 / \\ 2 3 / \\ / 4 5 6
在这个示例中,每个节点都被填充,并且缺少右子节点的节点(如节点 3)的子树也是完全二叉树。