3、二叉树
树(Tree)是n个结点的有限集合。
度:拥有子结点的数量为结点的度,树中最大的度为树的度。
结点(节点):根结点、内部结点、叶子结点
有序树:左分支和右分支严格区分的树。
二叉树
每个结点的度最大为2的树,二叉树为有序树。
满二叉树:每层结点都是满的二叉树。
完全二叉树:在一个满二叉树中,从右下侧开始去掉若干相邻的结点,得到的树为完全二叉树。
存储结构
1、顺序存储结构
使用数组存放二叉树的元素,它只有在满二叉树或完全二叉树的情况下才不会有空间浪费。
2、链式存储结构
使用二叉链表存放二叉树的元素,每个结点包括三个域:左孩子域,值域,右孩子域。
遍历
规定左节点一定在右节点之前遍历,则二叉树的遍历可分为:
1、先序遍历(DLR):根、左子树、右子树 如:A B D E G C F
2、中序遍历(LDR):左子树、根、右子树 如:D B G E A C F
3、后序遍历(LRD):左子树、右子树、根 如:D G E B F C A