UNPKG

@sheetxl/models

Version:

Models - A Headless javascript spreadsheet library.

36 lines 1.21 kB
/** * Copied from https://jojozhuang.github.io/algorithm/data-structure-fenwick-tree/ * * TODO - test that this actually works * TODO - this this with gaps * * TODO - this will need to support delete * * TODO - make this 2d * https://www.geeksforgeeks.org/two-dimensional-segment-tree-sub-matrix-sum/ * * TODO - add ability to do other operations * TODO - make this partially persistent like b+tree https://www.geeksforgeeks.org/persistent-segment-tree-set-1-introduction/ * * TODO - add lazy propagation https://www.geeksforgeeks.org/lazy-propagation-in-segment-tree/ * * References: * https://cp-algorithms.com/data_structures/segment_tree.html#compression-of-2d-segment-tree */ export declare class SegmentTree { private root; constructor(arr: number[]); private build; querySum(start: number, end: number, root?: SegmentTreeNode): number; update(index: number, value: number, root?: SegmentTreeNode): void; } declare class SegmentTreeNode { start: number; end: number; sum: number; left: SegmentTreeNode; right: SegmentTreeNode; constructor(start: number, end: number); } export default SegmentTree; //# sourceMappingURL=SegmentTree.d.ts.map