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

    Class SkipList<T>

    Список с пропусками (skip list) — вероятностная альтернатива сбалансированным деревьям. Хранит уникальные значения в отсортированном порядке; insert/delete/has — O(log n) в среднем. Проще в реализации, чем деревья, и хорошо подходит для конкурентных сценариев.

    const list = new SkipList([5, 1, 3]);
    list.insert(2);
    [...list]; // [1, 2, 3, 5]
    [...list.range(2, 4)]; // [2, 3]

    Type Parameters

    • T

    Implements

    • Iterable<T>
    Index
    • Type Parameters

      • T

      Parameters

      • iterable: Iterable<T> = []
      • compare: Comparator<T> = defaultCompare
      • random: () => number = Math.random

        Источник случайных чисел в [0, 1); можно подменить для детерминированных тестов.

      Returns SkipList<T>

    • Вставляет значение. Дубликаты игнорируются. Возвращает true, если значение добавлено.

      Parameters

      • value: T

      Returns boolean

    • Удаляет значение. Возвращает true, если оно было в списке.

      Parameters

      • value: T

      Returns boolean

    • Parameters

      • value: T

      Returns boolean

    • Значения из отрезка [low, high] в порядке возрастания.

      Parameters

      • low: T
      • high: T

      Returns IterableIterator<T>

    • Returns IterableIterator<T>