有关通过指针实现动态开点线段树
1657
2022.05.26
发布于 未知归属地

各大引擎搜索出来的结果都千奇百怪的, 而 Leetcode 上的线段树题解是根据题目特定删减过的. 我有一个疑问, 在通用情况下, 比如维护区间和时, 通过指针实现的动态开点方法中, 每个结点要不要存当前结点管辖的起止位置. 例如

class dynamicSegTree
{
private:
    struct node
    {
        node *left, *right;
        int interSum;
        int addTag;
        // 我这里要不要存管的区间?
        int _start, _end;
    };
    node *root;
    ... 省略
}

用指针实现我认为就是为了避免预先开辟大空间, 可网上依旧有直接在后面生成很大量的指针数组, node Node[MAXV] 这种行为. 因此让我十分困惑. 也想知道这样做的原因是什么?

评论 (5)