(4.1)树与二叉树之二叉树的存储结构

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;
发布了582 篇原创文章 · 获赞 143 · 访问量 17万+

猜你喜欢

转载自blog.csdn.net/u011436427/article/details/104417685