@panyam/priorityq
Version:
A Priority Queue implementation with O(1) lookups for lookup by value.
24 lines (23 loc) • 696 B
TypeScript
import { Handle, Storage } from "./storage";
declare class BHPQHandle<T> implements Handle<T> {
value: T;
index: number;
constructor(value: T, index: number);
}
export declare class BinHeapStorage<T> extends Storage<T> {
private handles;
private count;
private emptyIndexes;
get size(): number;
get isEmpty(): boolean;
clear(): void;
adjust(handle: BHPQHandle<T>): void;
get top(): BHPQHandle<T>;
push(value: T): BHPQHandle<T>;
pop(): BHPQHandle<T>;
remove(handle: BHPQHandle<T>): BHPQHandle<T>;
get sortedHandles(): IterableIterator<BHPQHandle<T>>;
upheap(curr: number): number;
releaseIndex(index: number): void;
}
export {};