写在前边的话:你的支持是我写作的动力,有帮助到你的话麻烦点赞加收藏呦。感激不尽!如有错误也请留言指正。
考研数据结构练习,欢迎订阅我的专辑《考研数据结构题型分类讲解练习》
目录
现在有如下所示的树,用顺序存储结构存储。先说存储过程,再讲解为什么可以这么存储
一、过程
把这棵树补成满二叉树,并且按照层次递归顺序编号。
按照编号对应数组下标存储节点即可。这样一棵树就用顺序存储结构存储下来了。
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
A | B | C | D | E | F | G | F | I |
二、解释原因
我们对树的操作无非就是通过父节点查找左右节点然后操作的过程。因此,只要我们的存储能通过父节点找到左右节点即可。
在满二叉树的层次遍历中有一个规律:设父节点的编号为 index ,那么左孩子的编号就是 2*index + 1,右孩子是编号2*index + 2。
我们按照编号,对应存储到数组下标处即可。这样一棵树就用顺序存储结构存储下来了。