二叉树是一种常见的树结构。二叉树是每个节点至多只有
2
课子树,子树有左右之分的有序树。
二叉树可能的形态为以下几种:
二叉树的性质
可以对满二叉树的节点进行连续编号,约定编号从根节点开始,自上而下、从左到右。
完全二叉树:深度为
k
有
n
个节点的二叉树,当且仅当每个节点都与深度为
k
的满二叉树中编号从
1
至
n
的
节点一一对应时,称为完全二叉树。
二叉树的遍历
二叉树的遍历是指从根节点出发,按照某种次序依次访问二叉树中所有节点,使得每个节点被访问一次
且仅被访问一次。不像线性结构,树的节点之间不存在唯一的前驱和后继关系,在访问一个节点之后,
下一个被访问节点面临不同选择。
四种遍历方式
前序遍历:若二叉树为空,则空操作返回。否则在先访问根节点,然后前序遍历左子树,在前序遍
历右子树。
中序遍历:若二叉树为空,则空操作返回。否则中序遍历左子树,然后访问根节点,在中序遍历右
子树。
后序遍历:若二叉树为空,则空操作返回。否则后序遍历左子树,然后后序遍历右子树,在遍历根
节点。
层次遍历:若二叉树为空,则空操作返回。否则从树的第一层根节点开始,从上而下逐层遍历,在
同一层中,按照从左到右的顺序对节点逐个访问。