二叉树的链式存储结构是指,用链表来表示一棵二叉树,即用链来指示元素的逻辑关系。通常的方法是链表中每个结点由三个域组成,数据域和左右指针域,左右指针分别用来给出该结点左孩子和右孩子所在的链结点的存储地址。
二叉链表表示:
typedef struct BitNode
{
TElemType data;
BitNode *lchild,*rchild;//左右孩子指针
}BitNode ,*BiTree;
基本操作(22个)
1:构造空的二叉树
2:销毁二叉树
3:创建二叉树
4:二叉树判空
5:求二叉树深度
6:求二叉树根
7:返回某个节点的值
8:返回节点双亲
9:返回二叉树中某个节点值得指针
10:返回左孩子
11:返回右孩子
12:返回左兄弟
13:返回右兄弟
14:插入子树
15:删除子树
16:先序遍历
17:中序遍历
18:后序遍历
三叉链表表示:
//三叉链表表示
typedef struct BitTNode
{
TElemType data;
BitTNode *parent,*lchild,*rchild;
}BitTNode,*BitTree;
基本操作:
1:构造空的二叉树
2:销毁二叉树
3:创建二叉树
4:二叉树判空
5:求二叉树深度
6:求二叉树根
7:返回某个节点的值
8:返回节点双亲
9:返回二叉树中某个节点值得指针
10:返回左孩子
11:返回右孩子
12:返回左兄弟
13:返回右兄弟
14:插入子树
15:删除子树
16:先序遍历
17:中序遍历
18:后序遍历