845 research outputs found
Learning-Augmented Skip Lists
We study the integration of machine learning advice into the design of skip
lists to improve upon traditional data structure design. Given access to a
possibly erroneous oracle that outputs estimated fractional frequencies for
search queries on a set of items, we construct a skip list that provably
provides the optimal expected search time, within nearly a factor of two. In
fact, our learning-augmented skip list is still optimal up to a constant
factor, even if the oracle is only accurate within a constant factor. We show
that if the search queries follow the ubiquitous Zipfian distribution, then the
expected search time for an item by our skip list is only a constant,
independent of the total number of items, i.e., , whereas a
traditional skip list will have an expected search time of . We also demonstrate robustness by showing that our data structure achieves
an expected search time that is within a constant factor of an oblivious skip
list construction even when the predictions are arbitrarily incorrect. Finally,
we empirically show that our learning-augmented skip list outperforms
traditional skip lists on both synthetic and real-world datasets
A Skip List Cookbook
Skip lists are a probabilistic list-based data structure that are
a simple and efficient substitute for balanced trees. Skip list algorithms
have the same asymptotic expected time bounds as balanced trees and are
simpler, faster and use less space. The original paper on skip lists only
presented algorithms for search, insertion and deletion. In this paper, we
show that skip lists are as versatile as balanced trees. We describe and
analyze algorithms to use search fingers, merge, split and concatenate
skip lists, and implement linear list operations using skip lists. The
skip list algorithms for these actions are simpler than their balanced
tree cousins and at least as fast. The merge algorithm for skip lists we
describe has better asymptotic time complexity than any previously
described merge algorithm for balanced trees.
(Also cross-referenced as UMIACS-TR-89-72.1
Concurrent Maintenance of Skip Lists
This papers describes a new approach to providing
efficient concurrent access to a dynamic search structure.
Previous approaches have attempted to solve this problem using
search trees (either balanced or unbalanced). We describe
methods for performing concurrent access and updates using skip lists.
Skip lists are a probabilistic alternative to balanced trees that
provide much of the simplicity of unbalanced trees, together
with good worst-case expected performance. In this paper, we briefly
review skip lists, describe simple methods for concurrent maintenance
of sorted linked lists, formally prove the correctness of these methods,
and show how they can be extended to provide simple and efficient
algorithms for concurrent maintenance of skip lists.
(Also cross-referenced as UMIACS-TR-90-80
On the search path length of random binary skip graphs
International audienceIn this paper we consider the skip graph data structure, a load balancing alternative to skip lists, designed to perform better in a distributed environment. We extend previous results of Devroye on skip lists, and prove that the maximum length of a search path in a random binary skip graph of size n is of order log n with high probability.Dans ce travail, nous nous intéressons aux "skip graphs", une alternative aux "skip lists" permettant un meilleur équlibrage de charges et conçue pour être plus efficace dans un environnement distribué. Nous étendons des résultats de Devroye sur les skip lists, et prouvons que la longueur maximale d'un chemin de recherche dans un skip graph binaire aléatoire de taille n, est d'ordre log(n) avec forte probabilité
Brief Announcement: On Self-Adjusting Skip List Networks
This paper explores the design of dynamic network topologies which adjust to the workload they serve, in an online manner. Such self-adjusting networks (SANs) are enabled by emerging optical technologies, and can be found, e.g., in datacenters. SANs can be used to reduce routing costs by moving frequently communicating nodes topologically closer. This paper presents SANs which provide, for the first time, provable working set guarantees: the routing cost between node pairs is proportional to how recently these nodes communicated last time. Our SANs rely on skip lists (which serve as the topology) and provide additional interesting properties such as local routing
- …