tstruct
Version:
Data structures & basic algorithms library
16 lines (15 loc) • 708 B
TypeScript
import { BinaryTree, IBinaryTree, IBinaryTreeNode } from "./BinaryTree";
import { CompareFunctionType } from "../CompareFunction";
export interface IBinarySearchTree<T> extends IBinaryTree<T> {
readonly min: T | undefined;
readonly max: T | undefined;
}
export declare class BinarySearchTree<T> extends BinaryTree<T> implements IBinarySearchTree<T> {
protected compareFunction: CompareFunctionType<T>;
constructor(compareFunction?: CompareFunctionType<T>);
add(value: T, callback?: (node: IBinaryTreeNode<T>) => void): void;
delete(value: T): void;
get min(): T;
get max(): T;
protected insertNode(value: T, node: IBinaryTreeNode<T>): IBinaryTreeNode<T>;
}