SkipList предоставляет те же границы для поиска, что и сбалансированное дерево, с тем преимуществом, что перебалансировка не требуется. Поскольку SkipList создается с использованием случайных бросков монет, эти границы сохраняются только до тех пор, пока структура SkipList достаточно «сбалансирована». В частности, с вероятностью 1 / n c для некоторой константы c > 0 сбалансированная структура может быть потеряна после вставки элемента.
Допустим, я хочу использовать список пропусков в качестве серверной части хранилища в веб-приложении, которое потенциально работает вечно. Таким образом, после некоторого полиномиального числа операций сбалансированная структура SkipList, скорее всего, будет потеряна.
Правильно ли мои рассуждения? Имеют ли такие вероятностные структуры данных поиска / хранения практическое применение, и если да, то как избежать вышеуказанной проблемы?
Редактировать: Мне известно, что существуют детерминированные варианты SkipList, которые гораздо сложнее реализовать по сравнению с (классическим) рандомизированным SkipList.