@sheetxl/models
Version:
Models - A Headless javascript spreadsheet library.
36 lines • 1.21 kB
TypeScript
/**
* 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