二叉树(一对多)
树:
树:由根节点和若干个子节点构成的具有一对多关系的数据的集合,称为树形结构。
空树:一个节点都没有
节点:
根节点:最顶层的结点
叶子节点(终端节点):向后没有子节点的节点
分支节点(非终端节点):有子节点的节点
度:
树的深度:数的层数
树的度(数的广度):树中节点最大的度是该数的广度
节点的度:节点的子节点个数叶子节点的节点的度为0
二叉树:
二叉树:树的广度为2的树形结构,且各节点的左右子节点不能交换
满二叉树:在不增加层数的情况下,无法再增加一个节点

K层满二叉树:第K层的节点个数:2^(K-1)
K层总共节点个数:2^K-1
完全二叉树:在满二叉树基础上,按照从左到右,从上到下依次增加节点的树形结构在满二叉树基础上,按照从下到上,从右到左依次删除节点的树形结构
满二叉树一定是完全二叉树

二叉树的遍历:
前序遍历:根、左子树、右子树
中序遍历:左子树、根、右子树
后序遍历:左子树、右子树、根
层序遍历:从上至下、从左至右
其中,前中后序为深度优先遍历算法,层序为广度优先遍历算法
已知前序(/后序)和中序遍历结果·,可以唯一还原一棵二叉树
API:
1.创建二叉树
2.前序、中序、后序遍历
3.获取节点个数
4.获取树的层数
5.层序遍历
6.销毁树