满二叉树
对二叉树来说,第i层的节点个数最多为2^(i-1)个,如果二叉树的每一层的节点个数都达到最大值,即叶子节点全部在最后一层,非叶子节点一定有左右孩子,这种二叉树称为满二叉树,下面展示了一棵满二叉树。
完全二叉树
完全二叉树的判断条件没有满二叉树那么苛刻,完全二叉树要求最下面两层的节点,可以没有孩子节点,也可以仅有一个孩子,但最下层的叶子节点必须都在左侧,比如下面的树:
需要注意最下层叶子节点必须在左侧,像下面的树违反了这个规则,不是完全二叉树:
二叉搜索树
二叉搜索树是一种非常实用的二叉树,对树中任意节点,满足下面特点就认为是二叉搜索树:
- 若左子树存在,那么左子树中任意节点小于父节点。
- 若右子树存在,那么右子树中任意节点大于父节点。
例如下面的二叉树就是二叉搜索树: