Skiplists have become prevalent in systems. The main advantages of skiplists are their simplicity and ease of implementation, and the ability to support operations in the same asymptotic complexities as their tree-based counterparts. In this survey, we explore skiplists and their many variants. We highlight many scenarios of how skiplists are useful and fit well in these usage scenarios. We study several extensions to skiplists to make them fit for more applications, e.g., their use in the multi-dimensional space, network overlaying algorithms, as well as serving as indexes in database systems. Besides, we also discuss systems that adopt the idea of skiplists and apply the probabilistic skip pattern into their designs.
翻译:跳表在各类系统中已变得十分普遍。跳表的主要优势在于其简洁性、易于实现,以及能够支持与基于树结构的数据结构具有相同渐进复杂度的操作。在本综述中,我们深入探讨跳表及其众多变体。我们重点阐述了跳表在多种场景中的适用性及其如何很好地契合这些使用场景。我们研究了跳表的若干扩展,以使其适应更多应用,例如在多维空间中的应用、网络覆盖算法,以及在数据库系统中作为索引使用。此外,我们还讨论了那些采用跳表思想并将概率性跳跃模式应用于其设计的系统。