Self-adjusting binary search trees
Journal of the ACM (JACM)
A locally adaptive data compression scheme
Communications of the ACM
Skip lists: a probabilistic alternative to balanced trees
Communications of the ACM
Introduction to algorithms
An approximate analysis of the LRU and FIFO buffer replacement schemes
SIGMETRICS '90 Proceedings of the 1990 ACM SIGMETRICS conference on Measurement and modeling of computer systems
The LRU-K page replacement algorithm for database disk buffering
SIGMOD '93 Proceedings of the 1993 ACM SIGMOD international conference on Management of data
Operating systems (2nd ed.): design and implementation
Operating systems (2nd ed.): design and implementation
A simulation study of IP switching
SIGCOMM '97 Proceedings of the ACM SIGCOMM '97 conference on Applications, technologies, architectures, and protocols for computer communication
The art of computer programming, volume 3: (2nd ed.) sorting and searching
The art of computer programming, volume 3: (2nd ed.) sorting and searching
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
Opportunistic data structures with applications
FOCS '00 Proceedings of the 41st Annual Symposium on Foundations of Computer Science
A parameterizable methodology for Internet traffic flow profiling
IEEE Journal on Selected Areas in Communications
ISAAC '02 Proceedings of the 13th International Symposium on Algorithms and Computation
Efficient IP table lookup via adaptive stratified trees with selective reconstructions
Journal of Experimental Algorithmics (JEA)
Simplified self-adapting skip lists
IDEAL'10 Proceedings of the 11th international conference on Intelligent data engineering and automated learning
Hi-index | 0.00 |
Dynamic tables that support search, insert and delete operations are fundamental and well studied in computer science. There are many well known data structures that solve this problem, including balanced binary trees, skip lists and tries among others. Many of the existing data structures work efficiently when the access patterns are uniform, but in many circumstance access patterns are biased. Various data structures have been proposed that exploit bias in access patterns to improve efficiency for the operations they support. In this paper we introduce a new data structure, the biased skip list (BSL), which is designed to work with biased access distributions. Specifically, given key k, let its rank r(k) be the number of distinct keys accessed since the last access to k. BSL enables one to search for k in O(log r(k)) expected time. Insertions and deletions take O(log rmax(k)) expected time where rmax(k) denotes the maximum rank of k during its lifespan. Our work is motivated by recent studies on packet filtering and classification where keys have been found to have geometric (or more skewed) access probabilities as a function of how recently they have been accessed. We demonstrate the practicality of BSL with experiments on real and synthetic data with various degrees of bias.