ds-kit-js - v1.1.0
    Preparing search index...

    Class BinaryHeap<T>

    Двоичная куча. На вершине всегда «наименьший» по компаратору элемент: по умолчанию это min-heap, для max-heap передайте (a, b) => b - a или используйте MaxHeap. push/pop — O(log n), peek — O(1), построение из коллекции — O(n).

    const tasks = new BinaryHeap<{ id: number; deadline: number }>([], (a, b) => a.deadline - b.deadline);
    tasks.push({ id: 1, deadline: 30 }).push({ id: 2, deadline: 10 });
    tasks.pop(); // { id: 2, deadline: 10 }

    Type Parameters

    • T

    Hierarchy (View Summary)

    Implements

    • Iterable<T>
    Index
    • Добавляет элемент.

      Parameters

      • value: T

      Returns this

    • Извлекает вершину кучи.

      Returns T | undefined

    • Добавляет элемент и сразу извлекает вершину — быстрее, чем push + pop.

      Parameters

      • value: T

      Returns T

    • Вершина кучи без удаления.

      Returns T | undefined

    • Элементы в порядке хранения (не отсортированы).

      Returns T[]

    • Все элементы в порядке извлечения; куча не изменяется.

      Returns T[]

    • Итерация в порядке хранения (не отсортирована).

      Returns IterableIterator<T>