我现在正在学习计算机科学数据结构 . 我必须将数据存储在基于数组的二进制搜索树的类型中,但我无法理解为什么它的顺序 .

图片是我必须拥有的结果 . My BST image

黑色数字是数组的实际索引,红色数字是插入的顺序 . 我无法弄清楚如何以这种方式插入项目 . 首先我想我必须从右边插入,但最后一个项目插入左边 .

以下是有关它的更多信息 .

在该方案中,索引i处的节点的左子节点将在索引2 * i 1处,并且其右子节点将在节点2 * i 2处 .

它实际上可以用于任何形状的二叉树 . 唯一的问题是,如果树未完成,阵列中将浪费空间 . 但浪费的空间对于这个小应用来说不是问题 .

您的数组应以5的大小开头,并根据需要增长 . 当它需要生长时,它应该通过增加一倍来增长 . 您的阵列“用完房间”是不可接受的 .

对不起我的英文和描述不好 .