webglimpse
Version:
Webglimpse is a data visualization library for the web.
72 lines (71 loc) • 2.15 kB
TypeScript
export declare class BinaryTree<V> {
private _root;
private _comp;
private _size;
constructor(comparator: Comparator<V>);
insert(value: V): void;
remove(value: V): void;
removeAll(): void;
contains(value: V): boolean;
getValue(value: V): V;
get size(): number;
get isEmpty(): boolean;
ceiling(value: V): V;
floor(value: V): V;
lower(value: V): V;
higher(value: V): V;
headSet(value: V, inclusive?: boolean): V[];
tailSet(value: V, inclusive?: boolean): V[];
subSet(low: V, high: V, lowInclusive?: boolean, highInclusive?: boolean): V[];
toArray(): V[];
iterator(): Iterator<V>;
compare(node1: V, node2: V): number;
private contains0;
private lower0;
private higher0;
private sub0;
private head0;
private tail0;
private addAll0;
private remove0;
private level0;
private decreaseLevel0;
private insert0;
newTreeNode0(value: V): TreeNode<V>;
private skew0;
private split0;
}
export declare class TreeNode<V> {
private _level;
private _right;
private _left;
private _value;
constructor(value: V, level?: number, left?: TreeNode<V>, right?: TreeNode<V>);
get level(): number;
get right(): TreeNode<V>;
get left(): TreeNode<V>;
get value(): V;
set right(node: TreeNode<V>);
set left(node: TreeNode<V>);
set level(level: number);
set value(value: V);
isLeaf(): boolean;
getSuccessor(): TreeNode<V>;
getPredecessor(): TreeNode<V>;
toString(): string;
}
export interface Iterator<V> {
hasNext(): boolean;
next(): V;
}
export interface Comparator<V> {
compare(node1: V, node2: V): number;
}
export declare class StringComparator implements Comparator<string> {
compare(value1: string, value2: string): number;
}
export declare class NumberComparator implements Comparator<number> {
compare(value1: number, value2: number): number;
}
export declare function createStringTree(): BinaryTree<string>;
export declare function createNumberTree(): BinaryTree<number>;