我在 HackerEarth上的这篇文章中发现,可以通过使用数组来实现段树,其中位于数组索引n的节点的子元素位于索引2n和2n+1 处。
它还指出,为了在我的段树中存储n 个元素,我需要2n+1 个节点。
然而,最近当我解决了一些与段树相关的问题时,有时我的代码会出现运行时错误,当我将用于存储段树的数组大小更改为4 x (要存储在段树中的数组大小) 时,该错误得到了解决。我如何确定段树实际上需要 n 个元素的 4n 大小的数组。
c c++ arrays algorithm segment-tree
algorithm ×1
arrays ×1
c ×1
c++ ×1
segment-tree ×1