1.二叉树名词解释
二叉树的定义:
二叉树是一种每个结点至多只有两个子树(即二叉树的每个结点的度不大于2),并且二叉树的子
树有左右之分,其次序不能任意颠倒。
树是使用了递归定义的数据结构,树的子树还是树,其结构如下图所示:
- 度:结点拥有的子树数目,例如上图结点A的度为3,结点E的度为0
- 叶子或终端结点:度为0的结点(没有子树的结点)
- 树的度:各个结点中度的最大值
- 孩子:结点的子树的根,称为根的孩子
- 层次:根的层次为0,根的孩子为1,以此类推
- 深度:树中结点的最大层次,称为树的深度
2.遍历二叉树
先序遍历:只经过一次就取值,先根 再左 再右。
先序遍历可以想象为,一个小人从一棵二叉树根节点为起点,沿着二叉树外沿,逆时针走一圈回到
根节点,路上遇到的元素顺序,就是先序遍历的结果。
先序遍历结果为:A B D H I E J C F K G
中序遍历:经过两次才取值,先左 再根 再右。
中序遍历可以看成,二叉树每个节点,垂直方向投影下来(可以理解为每个节点从最左边开始垂直
掉到地上),然后从左往右数,得出的结果便是中序遍历的结果。
中遍历结果为:H D I B E J A F K C G
后序遍历 :经过三次才取值,先左 再右 再根。
后序遍历中,根节点默认最后面
后序遍历结果:H I D J E B K F G C A
3.代码展示: