二叉树:
二叉树是n个结点的有限集合,该集合或者为空集,或者由一个根结点和两个互不相交的、分别称为根结点的左子树和右子树的二叉树组成。
二叉树存在一些特点:
1)每个结点最多有两个子树,不存在度大于二的结点。
2)左子树和右子树是存在顺序关系的,不可随意颠倒。
3)即使某一结点只有一个子树,也要区分左右。
满二叉树:
叶子结点只会出现在最底层,非叶子结点的度一定为2,在同样的深度二叉树中,满二叉树的结点最多。
完全二叉树:
对一个具有n个节点的二叉树按层排序编号,如果编号为i的结点与同样深度的二叉树中编号为i的结点在二叉树中位置完全相同,则这棵二叉树称为完全二叉树。
二叉树的性质
1)在二叉树第i层上至多有2^(i-1)个结点。
2)深度为k的二叉树至多有2^k -1 个结点。
3)对于任何一棵二叉树t,如果其终端结点数为n,度为2的结点为m,则n=m+1。4)
4)具有n个结点的完全二叉树的深度为log2(n) + 1。
二叉树的c语言实现。