二叉树
定义
二叉树是每个结点最多有两个子树的树结构。
性质
二叉树的每个结点至多只有二棵子树(不存在度大于2的结点
二叉树的子树有左右之分,次序不能颠倒
二叉树的第i层至多有2^{i-1}个结点
深度为k的二叉树至多有2^k-1个结点
对任何一棵二叉树T,如果其终端结点数为n0,度为2的结点数为n2,则n0=n2+1。
满二叉树
定义:
一棵深度为k,且有2^k-1个节点的二叉树,称为满二叉树。
性质
每一层上的节点数都是最大节点数
完全二叉树
定义
一棵二叉树中,除最后一层外,若其余层都是满的,并且最后一层或者是满的,或者是在右边缺少连续若干节点
性质
具有n个节点的完全二叉树的深度为log2(n+1)
深度为k的完全二叉树,至少有2^(k-1)个节点,至多有2^k-1个节点
线索二叉树
定义
n个结点的二叉链表中含有n+1(2n-(n-1)=n+1)个空指针域。利用二叉链表中的空指针域,存放指向结点在某种遍历次序下的前驱和后继结点的指针(这种附加的指针称为”线索”)。
这种加上了线索的二叉链表称为线索链表,相应的二叉树称为线索二叉树(Threaded BinaryTree)。根据线索性质的不同,线索二