对线段树更新index下标处的值中 原始数组index下标与线段树中下标对比的疑问

来源:9-6 线段树中的更新操作

甲骨文_0001

2021-12-14

图片描述
老师,上述是我的疑问,线段树整体已经能够理解,但是更新set操作还有上述的疑问,没想通…

写回答

1回答

liuyubobobo

2021-12-14

l, r, mid, index, 都是针对原始数组的下标来说的。


treeIndex,leftTreeIndex, rightTreeIndex 才是线段树对应的数组的下标,也就是大小为 4n 的数组下标。 (所以我的变量名是这么起的)


也正是因为这个原因,只有 treeIndex, leftTreeIndex, rightTreeIndex 会传入 tree[] 数组去取值;index 只会传入 data 数组去取值。


看看上面的解释能不能帮你更深入的理解这个代码?


继续加油!:)

1
1
甲骨文_0001
懂了:)
2021-12-14
共1条回复

玩转数据结构

动态数组/栈/队列/链表/BST/堆/线段树/Trie/并查集/AVL/红黑树…

6221 学习 · 1704 问题

查看课程