@woosh/meep-engine
Version:
Pure JavaScript game engine. Fully featured and production ready.
98 lines • 1.86 kB
TypeScript
export default BinaryHeap;
/**
* Min-Heap implementation with a score function.
* The data structure is a binary heap where elements are removed in order defined by scoring function
* @template T
*/
declare class BinaryHeap<T> {
/**
* @template T
* @param {function(el:T):number} scoreFunction
* @constructor
*/
constructor(scoreFunction: any);
/**
* @private
* @type {T[]}
*/
private data;
/**
* @private
* @type {number}
*/
private length;
/**
*
* @type {function(T): number}
*/
scoreFunction: (arg0: T_1) => number;
/**
* @private
* @param {number} pos
*/
private bubbleUp;
/**
* @private
* @param {number} pos
*/
private bubbleDown;
/**
*
* @return {T}
*/
pop(): T;
/**
*
* @returns {T|undefined}
*/
peek(): T | undefined;
/**
*
* @param {T} node
* @returns {boolean}
*/
delete(node: T): boolean;
/**
* NOTE: Unsafe method, use at your own risk
* @param {number} i
*/
deleteByIndex(i: number): void;
/**
* Remove all the data from the heap
*/
clear(): void;
/**
*
* @param {T} node
* @returns {boolean}
*/
contains(node: T): boolean;
/**
*
* @returns {boolean}
*/
isEmpty(): boolean;
/**
*
* @returns {number}
*/
size(): number;
/**
*
* @param {T} node
* @returns {boolean} false if element is not found, true otherwise
*/
updateElementScore(node: T): boolean;
/**
*
* @param {T} el
*/
push(el: T): void;
/**
* Useful for type checks
* @readonly
* @type {boolean}
*/
readonly isBinaryHeap: boolean;
}
//# sourceMappingURL=BinaryHeap.d.ts.map