UNPKG

sonic-forest

Version:

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

20 lines (19 loc) 532 B
import type { ITreeNode } from '../types'; export interface IAvlTreeNode<K = unknown, V = unknown> { p: IAvlTreeNode<K, V> | undefined; l: IAvlTreeNode<K, V> | undefined; r: IAvlTreeNode<K, V> | undefined; k: K; v: V; bf: number; } export interface AvlHeadlessNode { p: AvlHeadlessNode | undefined; l: AvlHeadlessNode | undefined; r: AvlHeadlessNode | undefined; bf: number; } export interface AvlNodeReference<N extends Pick<ITreeNode, 'k' | 'v'>> { readonly k: N['k']; v: N['v']; }