import BTreeNode from './b-tree-node'; import * as utils from '../../utils'; declare class BTree { root: BTreeNode | null; private B; private maxValues; private maxChildren; private h; private sz; private compare; constructor(B: number, compareFunction?: utils.CompareFunction); /***************************************************************************** INSPECTION *****************************************************************************/ /** * Returns the number of nodes in the tree - O(1) * @return {number} */ size(): number; /** * Returns true if the B-tree is empty, and false otherwise - O(1) * @return {boolean} */ isEmpty(): boolean; /** * Returns the height of the tree - O(1) * @return {number} */ height(): number; /***************************************************************************** SEARCHING *****************************************************************************/ /** * Returns a [BTreeNode, number] pair, where number is the index of the value in the node. If the * value doesn't exist in the tree, the return type is null. * @param {T} value * @return {[BTreeNode, number] | null} */ find(value: T): [BTreeNode, number] | null; private findHelper; /***************************************************************************** INSERTION/DELETION *****************************************************************************/ /** * Inserts value into tree - O(logn) * @param {T} value * @return {void} */ insert(value: T): void; private insertHelper; private splitChild; /** * Deletes node with supplied value, if it exists - O(logn) * @param {T} value * @return {void} */ remove(value: T): void; private removeNode; } export default BTree; //# sourceMappingURL=b-tree.d.ts.map