@klayr/utils
Version:
Library containing generic utility functions for use with Klayr-related software
27 lines (26 loc) • 799 B
TypeScript
import { Node } from './node';
export declare class MinHeap<T, K = bigint | number> {
protected _nodes: Array<Node<T, K>>;
constructor(heap?: MinHeap<T, K>);
push(key: K, value: T): void;
pop(): {
key: K;
value: T;
} | undefined;
peek(): {
key: K;
value: T;
} | undefined;
clone(): MinHeap<T, K>;
clear(): void;
get count(): number;
get keys(): ReadonlyArray<K>;
get values(): ReadonlyArray<T>;
protected _moveUp(originalIndex: number): void;
protected _moveDown(originalIndex: number): void;
protected _parentIndex(index: number): number;
protected _leftChildIndex(index: number): number;
protected _rightChildIndex(index: number): number;
private _insertAll;
private _insertAllFromHeap;
}