typescript-algorithms-and-datastructures
Version:
Useful algorithms and Data structures written in typescript.
24 lines (23 loc) • 908 B
TypeScript
import IBinaryTree from "../Interfaces/IBinaryTree";
import RedBlackTreeNode from "./RedBlackTreeNode";
declare class RedBlackTree<T> implements IBinaryTree<T, RedBlackTreeNode<T>> {
comparator: (a: T, b: T) => boolean;
root: RedBlackTreeNode<T>;
private sentinel;
constructor(comparator?: (a: T, b: T) => boolean);
add(value: T): void;
remove(value: T): boolean;
inOrderTreeWalk(callback: (pv: any, cv: T) => any, initialValue: any): any;
isEmpty(): boolean;
max(): RedBlackTreeNode<T>;
min(): RedBlackTreeNode<T>;
reverseTreeWalk(callback: (pv: any, cv: T) => any, initialValue: any): any;
search(value: T): RedBlackTreeNode<T>;
successor(value: T): RedBlackTreeNode<T>;
private addFixup;
private inorderNodeWalk;
private leftRotate;
private reverseNodeWalk;
private rightRotate;
}
export default RedBlackTree;