二叉树的存储可分为两种:顺序存储结构和链式存储结构。

1.      顺序存储结构

把一个满二叉树自上而下、从左到右顺序编号,依次存放在数组内,可得到图6.8(a)所示的结果。设满二叉树结点在数组中的索引号为i,那么有如下性质。

(1) 如果i = 0,此结点为根结点,无双亲。

(2) 如果i > 0,则其双亲结点为(i -1) / 2 。(注意,这里的除法是整除,结果中的小数部分会被舍弃。)

(3) 结点i的左孩子为2i + 1,右孩子为2i + 2

(4) 如果i > 0,当i为奇数时,它是双亲结点的左孩子,它的兄弟为i + 1;当i为偶数时,它是双新结点的右孩子,它的兄弟结点为i – 1

(5) 深度为k的满二叉树需要长度为2 k -1的数组进行存储。