咨询leftTreeIndex的作用
来源:1-3 创建线段树
Star3327752
2022-08-28 10:31:45
问题描述:老师您好,我在这里调试了很多次都没有理解,这个leftTreeIndex的作用是什么,因为这个索引为1的时候好像对(l,mid)之间没什么关系。我知道我自己理解肯定有误差,但是自己找不到理解误差在哪里,所以来问老师
1回答
liuyubobobo
2022-08-28
在线段树中,树上的每一个节点,在 tree 这个数组上存储了信息。
treeIndex 就是代表 [l, r] 对应的节点,对应在 tree 数组上的索引。
==========
实际上,线段树的表示,和堆的表示非常像。虽然是一个树结构,但是我们没有像 BST 那样设立节点,然后真的把这些节点连接成熟的样子,而是只使用了一个数组。相当于,我们将这棵树的信息,存在了数组上。
我们为什么能把这棵树的信息存在数组上?因为我们将线段树看作是满二叉树(对此,请再回顾 1-2 的介绍):
==========
把一棵树看做满二叉树,为什么就能用数组表示?怎么用数组表示?
对此,请回顾我们在介绍堆的时候,是如何用数组表示堆的?
继续加油!:)
相似问题