满二叉树
一个二叉树的所有非叶子节点都存在左右孩子,并且所有叶子节点都在同一层级上,那么这个树就是满二叉树。
完全二叉树
对一个有n个节点的二叉树,按层级顺序编号,则所有节点的编号从1到n。如果这个树的所有节点和同样深度的满二叉树的编号为从1到n的节点位置相同,则这个二叉树为完全二叉树
二叉查找树
二叉查找树要求左子树小于父节点,右子树大于父节点,因此保持有序性。
对于一个节点分布相对均衡的二叉查找树来说,如果节点总数是n,那么搜索节点的时间复杂度就是O(logn),和树的深度是一样的。
二叉树的遍历
从节点之间位置关系的角度来看,二叉树的遍历分为4种。
1、前序遍历:输出顺序是根节点、左子树、右子树
2、中序遍历:输出顺序是左子树、根节点、右子树
3、后序遍历:输出顺序是左子树、右子树、根节点
4、层序遍历
从更宏观的角度来看,二叉树的遍历归结为两大类
1、深度优先遍历(前序遍历、中序遍历、后序遍历)
2、广度优先遍历(层序遍历)