UNPKG

toolset.io

Version:

前端开发常用工具集。

46 lines (45 loc) 1.21 kB
export interface BITree { tree: number[]; /** * 为第 index 个元素增减值 * * @param index 索引值 * @param num 增减的值 */ add(index: number, num: number): void; /** * 求前 index 个元素的和 * * @param index 索引值 * * @returns 前 index 个元素的和 */ sum(index?: number): number; /** * 获取第 index 个元素的值 * * @param index 索引值 * * @returns 第 index 个元素的值 */ get(index: number): number; /** * 根据目标值寻找一个最接近的元素的索引值 * * @param target 目标值 * * @returns 最接近的元素的索引值 */ boundIndex(target: number): number; } /** * 创建一个二叉索引树(Fenwick 树)对象 * * 为了节省初始化性能开销,需确保元素最小值已知,其初始值为:元素最小值 * 元素总数 * * @param length 树的大小,即元素的总数 * @param min 规定元素的最小值 * * @returns 二叉索引树对象 */ export declare function createBITree(length: number, min?: number): BITree;