郝斌数据结构入门--P63-树的存储
完全二叉树:
先把一棵树转换为满二叉树,再把最底层最右边删掉,意味着下图黄色框可以删掉,不保存。剩下的一棵树就是完全二叉树。

为什么一个二叉树以数组的方式存储时,必须要求这个数是完全二叉树?
上图红色是真正的点(有效点)。如果只存放有效的点,无法确定这棵树是怎样构造出来的。别人不知道以前的树是怎样子的,所以不能只保留有效的点。
二叉树的存储
连续存储[完全二叉树]:
优点:查找某个节点的父节点和子节点速度很快(也包括判断有没有子节点)
缺点:耗用内存空间过大
链式存储
一般树的存储
双亲表示法:求父节点方便
孩子表示法:求子节点方便
双亲孩子表示法:求父节点和子节点都很方便
二叉树表示法:把一个普通树转化成二叉树来存储,
具体转换方法:设法保证任意一个节点的
左指针域指向它的第一个孩子
右指针域指向它的兄弟
只要能满足此条件,就可以把一个普通树转化为二叉树
一个普通树转化成的二叉树一定没有右子树
森林的存储
本文详细解析了完全二叉树的概念及其在数组存储中的应用,对比了连续存储和链式存储的优缺点,并介绍了普通树的多种存储方式,如双亲表示法、孩子表示法等。
4974

被折叠的 条评论
为什么被折叠?



