第六章树和二叉树——6.2二叉树
二叉树是树中的一个特殊结构。他的特点是每个结点的子树不超过2.且子树有左右序列之分。
二叉树有很多性质。
性质1 在二叉树的第i层上最多有2^(i-1)哥结点。
性质2 深度为k的二叉树的最大结点数为2^k-1
性质3任意一个二叉树,如果其终端结点为m,度为2的结点为m,则n=m+1。
性质4 具有n个结点的完全二叉树的深度为k=|不大于log2 n的最大整数+1
性质5 如果有一个结点数为n的完全二叉树,则任意结点i
1.如果i=1,则i是树的根,无双亲,若i>1,则双亲为不大于i/2的整数
2.若果2i>n,则结点i无左孩子,否则左孩子为2i
3.若果2i+1>n,则结点i无右孩子,否则右孩子为2i+1
二叉树的顺序存储结构如下
#define maxx 100
typedef telemtype sqbitree[maxx];
sqbitree bt;
链式存储结构如下
typedef struct bitnode
{
telemtype data;
struct bitnode* lchild, * rchild;
}bitnode,*bitree;