咨询leftTreeIndex的作用

来源:1-3 创建线段树

Star3327752

2022-08-28 10:31:45

https://img.mukewang.com/climg/630ad319099feca025601600.jpg


问题描述:老师您好,我在这里调试了很多次都没有理解,这个leftTreeIndex的作用是什么,因为这个索引为1的时候好像对(l,mid)之间没什么关系。我知道我自己理解肯定有误差,但是自己找不到理解误差在哪里,所以来问老师


写回答

1回答

liuyubobobo

2022-08-28

在线段树中,树上的每一个节点,在 tree 这个数组上存储了信息。


treeIndex 就是代表 [l, r] 对应的节点,对应在 tree 数组上的索引。


==========


实际上,线段树的表示,和堆的表示非常像。虽然是一个树结构,但是我们没有像 BST 那样设立节点,然后真的把这些节点连接成熟的样子,而是只使用了一个数组。相当于,我们将这棵树的信息,存在了数组上。


我们为什么能把这棵树的信息存在数组上?因为我们将线段树看作是满二叉树(对此,请再回顾 1-2 的介绍):


https://img.mukewang.com/climg/630ae59709a8e3ae18661014.jpg


==========


把一棵树看做满二叉树,为什么就能用数组表示?怎么用数组表示?


对此,请回顾我们在介绍堆的时候,是如何用数组表示堆的?


https://img.mukewang.com/climg/630ae65e09443a8817721006.jpg


继续加油!:)

0

算法与数据结构

波波老师5年集大成之作,算法与数据结构系统学习,考试、面试、竞赛通用

2610 学习 · 1087 问题

查看课程

相似问题

回答 1

回答 1

回答 1