1,什么是二叉树
每个节点最多只有两个节点的树形结构
2,遍历
二叉树的遍历是从根节点出发,依次访问所有的二叉树节点,每个节点有且之访问一次。
(1) 前序遍历
若树为空,则返回空操作,否则先访问根节点,然后左子树,最后右子树。
(2) 中序遍历
若树为空,返回空操作,先从根节点开始(注意并不是先访问根节点),中序遍历根节点的左子树,然后是访问根节点,最后中序遍历根节点的右子树。
(3) 后序遍历
若树为空,则空操作返回。否则,从左到右先叶子后节点的方式遍历访问左右子树,最后访问根节点。
总结:
前序: 中,左,右。
中序:左,中,右。
后序:左, 右,中
3, 完全二叉树
若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边, 这就是完全二叉树
性质:
- 具有n个节点的完全二叉树的深度为 k= log2 n 。
- i层的节点数目为:2的i次方。
4,满二叉树
除了叶子节点,所有的节点都有两个子节点。