Um SkipList fornece os mesmos limites para pesquisa como uma árvore equilibrada com a vantagem de que o reequilíbrio não é necessário. Como o SkipList é construído usando lançamentos aleatórios de moedas, esses limites são válidos apenas enquanto a estrutura do SkipList estiver suficientemente "equilibrada". Em particular, com probabilidade 1 / n c para alguma constante c > 0 , a estrutura balanceada pode ser perdida após a inserção de um elemento.
Digamos que eu queira usar uma lista de pulos como back-end de armazenamento em um aplicativo Web que potencialmente é executado para sempre. Portanto, após um número polinomial de operações, é provável que a estrutura equilibrada do SkipList seja perdida.
Meu raciocínio está correto? Essas estruturas probabilísticas de dados de pesquisa / armazenamento têm aplicações práticas? Em caso afirmativo, como é evitado o problema acima?
Edit: Estou ciente de que existem variantes determinísticas do SkipList, que são muito mais complicadas de implementar em comparação com o SkipList aleatório (clássico).