UNPKG

soonspacejs

Version:
23 lines (22 loc) 648 B
import { BaseObjectInfo } from '../Interface'; type BaseId = BaseObjectInfo['id']; interface MinHeapNode { nodeIndex: BaseId; distance: number; depth: number; parent: null | BaseId; children: BaseId[]; } declare class MinHeap { min: BaseId | null; roots: BaseId[]; nodes: Map<BaseId, MinHeapNode>; constructor(); shift(): string | null; consolidate(): void; add(nodeIndex: BaseId, distance: number): void; update(nodeIndex: BaseId, distance: number): void; remove(nodeIndex: BaseId): void; getDistance(nodeIndex: BaseId): number; } export { MinHeapNode, MinHeap, };