UNPKG

bst-typed

Version:
25 lines (24 loc) 1.01 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MinPriorityQueue = void 0; const priority_queue_1 = require("./priority-queue"); /** * Min-oriented priority queue (min-heap) built on {@link PriorityQueue}. * The queue removes the smallest element first under the provided comparator. * Provide a custom comparator if you store non-primitive objects. * @template E Element type stored in the queue. * @template R Extra record/metadata associated with each element. * @example */ class MinPriorityQueue extends priority_queue_1.PriorityQueue { /** * Creates a min-priority queue. * @param elements Optional initial elements to insert. * @param options Optional configuration (e.g., `comparator`, `toElementFn`). * @remarks Complexity — Time: O(n log n) when inserting n elements incrementally; Space: O(n). */ constructor(elements = [], options) { super(elements, options); } } exports.MinPriorityQueue = MinPriorityQueue;