UNPKG

@gabrielrufino/cube

Version:

Data structures made in Typescript

25 lines (24 loc) 962 B
import type IBinarySearchNodeOptions from './IBinarySearchNodeOptions'; import type IBinarySearchTree from './IBinarySearchTree'; import type IBinarySearchTreeData from './IBinarySearchTreeData'; export default class BinarySearchTree<T = number> implements IBinarySearchTree<T> { private _root; private _size; constructor({ inputs, lessThanOrEqualTo }?: Readonly<IBinarySearchNodeOptions<T>>); get data(): IBinarySearchTreeData<T>; get size(): number; get min(): T | null; get max(): T | null; insert(value: T): T; walkInOrder(callback: (_value: T) => any): void; walkPreOrder(callback: (_value: T) => any): void; walkPostOrder(callback: (_value: T) => any): void; search(value: T): boolean; remove(value: T): T | null; private _lessThanOrEqualTo; private _insertChild; private _visitNodeInOrder; private _visitNodePreOrder; private _visitNodePostOrder; private [Symbol.toPrimitive]; }