UNPKG

sonic-forest

Version:

High-performance (binary) tree and sorted map implementation (AVL, Splay, Radix, Red-Black)

35 lines (34 loc) 1.28 kB
import type { Comparator, HeadlessNode, SonicMap } from '../types'; import type { AvlNodeReference, IAvlTreeNode } from './types'; export declare class AvlNode<K, V> implements IAvlTreeNode<K, V> { readonly k: K; v: V; p: AvlNode<K, V> | undefined; l: AvlNode<K, V> | undefined; r: AvlNode<K, V> | undefined; bf: number; constructor(k: K, v: V); } export declare class AvlMap<K, V> implements SonicMap<K, V, AvlNode<K, V>> { root: AvlNode<K, V> | undefined; readonly comparator: Comparator<K>; constructor(comparator?: Comparator<K>); set(k: K, v: V): AvlNodeReference<AvlNode<K, V>>; find(k: K): AvlNodeReference<AvlNode<K, V>> | undefined; get(k: K): V | undefined; del(k: K): boolean; clear(): void; has(k: K): boolean; _size: number; size(): number; isEmpty(): boolean; getOrNextLower(k: K): AvlNode<K, V> | undefined; forEach(fn: (node: AvlNode<K, V>) => void): void; first(): AvlNode<K, V> | undefined; last(): AvlNode<K, V> | undefined; readonly next: <N extends HeadlessNode>(curr: N) => N | undefined; iterator0(): () => undefined | AvlNode<K, V>; iterator(): Iterator<AvlNode<K, V>>; entries(): IterableIterator<AvlNode<K, V>>; toString(tab: string): string; }