UNPKG

tstruct

Version:

Data structures & basic algorithms library

47 lines (46 loc) 1.27 kB
export interface IHeap<T> { add(value: T): void; remove(value: T): void; getRoot(): T; extractRoot(): T; toArray(): T[]; rearrange(): void; readonly size: number; [Symbol.iterator](): Iterator<T, any, undefined>; } export interface IMaxHeap<T> extends IHeap<T> { extractMax(): T; getMax(): T; } export interface IMinHeap<T> extends IHeap<T> { extractMin(): T; getMin(): T; } export declare class Heap<T> implements IHeap<T> { private compareFunction; private _data; get size(): number; constructor(compareFunction?: (e1: T, e2: T) => -1 | 0 | 1); getRoot(): T; extractRoot(): T; add(value: T): void; rearrange(): void; _rearrange(index: number): void; private _checkOnParent; private _checkOnChildren; remove(value: T): void; toArray(): T[]; private getParentIndex; private getChildrenIndex; [Symbol.iterator](): Iterator<T, any, undefined>; } export declare class MaxHeap<T> extends Heap<T> implements IMaxHeap<T> { constructor(); extractMax(): T; getMax(): T; } export declare class MinHeap<T> extends Heap<T> implements IMinHeap<T> { constructor(); extractMin(): T; getMin(): T; }