文章目录
1.二叉树的顺序存储结构
- 用一组地址连续的存储单元,以层序顺序存放二叉树的数据元素,结点的相对位置蕴含着结点之间的关系。
- 完全二叉树的顺序存储 :n个节点的完全二叉树可以存放在1到n的数组中
- 如下图:把编号为i的节点放置在数组的第i个位置,他的左孩子放在2i的位置,他的右孩子放在2i+1的位置
- 一般二叉树的顺序存储
把一般的二叉树先补成完全二叉树,然后按照完全二叉树的顺序存储方式进行存储,而新补上去的结点只占位置,不存放结点数据。
- eg:
2.二叉树的链式存储
- (1)二叉链表
- (2)三叉链表
typedef struct BiTreeNode
{
Datatype data;
struct BiTreeNode *lchild, *rchild, *parent;
}BiTreeNode, *BiTree;