根节点:没有父节点的节点。
叶子节点(叶节点):没有孩子的节点。
二叉树:除叶节点外,其他节点最多只有2个“叉”(即分叉的意思——树枝分几叉)的树,即最多只有2个孩子节点(子节点,左孩子节点、右孩子节点)的树。
n叉树:除叶节点外其他节点最多只能有n个孩子节点的树。
满二叉树:除叶子节点外,其他节点都有2个孩子——一个都不能少。
完全二叉树:与满二叉树的区别是叶子节点从左到右可以空缺——但不能间隔空缺。
为啥专门拣出完全二叉树呢?为啥这么偏爱?因为满二叉树和完全二叉树顺序存储时不会浪费空间,其他的树是会浪费空间的(链式存储没啥区别)。
二叉树遍历:
前序遍历:“前”代表先把该节点打印出来(处于前面),再打印左子节点,后打印右子节点。
中序遍历:“中”意思是该节点在中间打印——先打印左子节点,再打印该节点(处于中间),最后打印右子节点。
后序遍历:“后”意思是该节点在最后打印——先打印左子节点,再打印右子节点,最后打印该节点(处于最后)。
“前中后”说的就是对任意节点进行打印时该节点被打印出来的顺序。