二叉树,失衡二叉树,平衡二叉树,红黑树基础
二叉树
二叉树(Binary tree)是树形结构的一个重要类型,二叉树是每个结点最多只能有两棵子树,且有左右之分 。
特点
- 每个结点最多有两个子结点(也可以说度最大为2)
- 任何结点的值大于其左孩子,且小于右孩子
性质
- 二叉树的第i层上至多有2i-1(i≥1)个结点
- 深度为k的二叉树中最多含有个…结点(k≥1)
- 对于任何一个二叉树,终端结点数为n0,度为2的结点数为n2,则有n0=n2+1
- leftNode = parentNode*2+1 (leftNode:左孩子结点,parentNode:父结点)
- rightNode = parentNode*2+2 (rightNode:右孩子结点)
- parentNode = (Nodenum-1)/2 (Nodenum:结点序号)
遍历顺序
1.先序遍历
※先序遍历,先判断二叉树是否为空,不空执行下面操作:
(1)访问根结点;
(2)先序遍历左子树;
(3)先序遍历右子树;