二叉树的数组实现

时间:2012-12-12 16:19:10

标签: algorithm tree

我正在尝试将基于列表的树实现转换为基于数组的实现,其中父级位于第i个索引,左子级位于第2个索引,右侧子级位于第2i +第1个索引。由于某种原因,转换导致具有更多节点的树的数据丢失。我想知道在实现这个时我需要检查的所有边界条件。谢谢!

2 个答案:

答案 0 :(得分:2)

假设您的语言使用从零开始的索引,则节点i的子节点进入2i + 12i + 2而不是2i2i + 1。后者适用于基于单一的指数。

答案 1 :(得分:0)

你是把头放在0还是1?除非你调整你的公式,否则选择'0'肯定会引起问题。