二叉树的存储结构

二叉树的存储结构

1.顺序存储方式

1
2
3
4
5
6
7
#define MaxSize 100
struct TreeNode{
ElemType value; //结点中的数据元素
bool isEmpty; //结点是否为空
};

TreeNode t[MaxSize];

2.链式存储结构

1
2
3
4
typedef struct BiTNode{
ElemType data; //数据域
struct BiTNode *lchild,*rchild; //左右孩子指针
}BiTNode,*BiTree;

3.三叉链表

三叉链表—方便找父节点

1
2
3
4
5
typedef struct BiTNode{
ElemType data; //数据域
struct BiTNode *lchild,*rchild; //左右孩子指针
struct BiTNode *parent; //父结点指针
}BiTNode,*BiTree;