Arrays 在元素为空的情况下,需要用零来完成段树吗?
我现在处理分段树。众所周知,分段树有2^n片叶子。让我们想象一个数组Arrays 在元素为空的情况下,需要用零来完成段树吗?,arrays,data-structures,segment-tree,Arrays,Data Structures,Segment Tree,我现在处理分段树。众所周知,分段树有2^n片叶子。让我们想象一个数组data,它由5个元素[1,2,3,4,5]组成,是段树的基本元素。我们还有一个包含树本身的数组tree\u data(tree\u data的右半部分包含data的元素)。在tree\u data中分配5个元素以包含data中的元素是合乎逻辑的,但我们必须用零填充其他三个元素,以使tree\u data的右半部分由8个元素组成并包含[1、2、3、4、5、0、0、0]。 为什么我们要这样做,而不是只用五个元素填充数组来节省内存?
data
,它由5个元素[1,2,3,4,5]组成,是段树的基本元素。我们还有一个包含树本身的数组tree\u data
(tree\u data
的右半部分包含data
的元素)。在tree\u data
中分配5个元素以包含data
中的元素是合乎逻辑的,但我们必须用零填充其他三个元素,以使tree\u data
的右半部分由8个元素组成并包含[1、2、3、4、5、0、0、0]。
为什么我们要这样做,而不是只用五个元素填充数组来节省内存?为什么我们需要节点7、14、15(见图)来创建段树