UNPKG

lgrthms

Version:

Algorithms and data structures for your JavaScript and TypeScript projects 🧑‍💻

26 lines (25 loc) 1.02 kB
export declare class BinaryTree<T = any> { private _parent; private _left; private _right; private _size; value: T; constructor(value: T); get size(): number; set parent(tree: BinaryTree<T>); get parent(): BinaryTree<T> | null; set left(tree: BinaryTree<T>); get left(): BinaryTree<T> | null; set right(tree: BinaryTree<T>); get right(): BinaryTree<T> | null; insert(value: T): BinaryTree<T>; remove(tree: BinaryTree<T>): void; removeWithValue(predicate: (value: T) => unknown): void; dfs(predicate: (value: T) => unknown): BinaryTree<T> | null; deepFirstSearch(predicate: (value: T) => unknown): BinaryTree<T> | null; bfs(predicate: (value: T) => unknown): BinaryTree<T> | null; breadthFirstSearch(predicate: (value: T) => unknown): BinaryTree<T> | null; traverseInOrder(callbackfn: (value: T) => void): void; traversePreOrder(callbackfn: (value: T) => void): void; traversePostOrder(callbackfn: (value: T) => void): void; }