二叉树
- 概念:二叉树是n个有限元素的集合,也是每个节点最多只能有两个子树的树结构。
- 特殊类型:
-
满二叉树:二叉树内只有度为2和0的节点,且度为0的节点在同一层,即除了树的最后一层的节点没有子节点,其他节点都有2个子节点,则这个二叉树就是满二叉树。满二叉树的节点数量为2^k-1(k为树的深度)。
-
完全二叉树:完全二叉树的节点顺序是由上到下,由左到右的。即叶子节点所在的层级差别不能大于1,且右节点不为空时,左节点也不能为空。满二叉树一定就是完全二叉树,但完全二叉树不一定是满二叉树。
- 性质:
- 性质1:在二叉树的第i层上至多有2^(i-1)个节点
- 性质2:深度为k的二叉树至多有2^k-1个节点
- 性质3:对于任何一棵二叉树,若其叶子节点数为n0,度为2的节点数为n2,则n0=n2+1
- 性质4:完全二叉树中,当节点数n为奇数时,度为1的节点数为0,叶子节点数为(n+1)/2;当节点数为偶数时,度为1的节点数为1,叶子节点数为n/2
- 性质5:具有n(n>=0)个节点的完全二叉树的深度为以2为底n的对数下取整,然后加一
- 性质6:对于完全二叉树,若从上至下,从左至右编号,则编号为i的节点,其左孩子编号为2i,其右孩子编号为2i+1;其双亲编号为i/2(i=1时为根,除外)