一些概念
- 满二叉树:所有的分支节点都存在左子树和右子树,所有的叶子都在最下面一层。
- 完全二叉树:叶子节点只能出现在最下层和次最下层,且最下层的叶子节点集中在树的左部。
创建&初始化二叉树
typedef int datatype;
typedef struct bitnode{
datatype data;
struct bitnode *lchild,*rchild;
}BiTNode,*BiTree;
BiTree Inatiate(){
BiTNode *bt;
bt=(BiTNode*)malloc(sizeof(BiTNode));
bt->lchild=NULL;
bt->rchild=NULL;
return bt;
}
BiTree Create_BiTree(datatype x,BiTree lbt,BiTree rbt){
BiTree p;
p=(BiTNode*)malloc(sizeof(BiTNode));
p->data=x;
p->lchild=lbt;
p->rchild=rbt;
return p;
}
BiTree Insert_Bitree(BiTree bt,datatype x,BiTree parent){
BiTree p;
p=(BiTNode*)malloc(sizeof(BiTNode));
p->data=x;
p->lchild=NULL;
p-