Amortized efficiency of list update and paging rules
Communications of the ACM
Self-adjusting binary search trees
Journal of the ACM (JACM)
Introduction to algorithms
Adaptive heuristics for binary search trees and constant linkage cost
SODA '91 Proceedings of the second annual ACM-SIAM symposium on Discrete algorithms
An evaluation of self-adjusting binary search tree techniques
Software—Practice & Experience
Journal of Algorithms
Randomized binary search trees
Journal of the ACM (JACM)
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 tenth annual ACM-SIAM symposium on Discrete algorithms
Alternatives to splay trees with O(log n) worst-case access times
SODA '01 Proceedings of the twelfth annual ACM-SIAM symposium on Discrete algorithms
Self-adjusting trees in practice for large text collections
Software—Practice & Experience
Managing multi-configuration hardware via dynamic working set analysis
ISCA '02 Proceedings of the 29th annual international symposium on Computer architecture
Cache oblivious search trees via binary trees of small height
SODA '02 Proceedings of the thirteenth annual ACM-SIAM symposium on Discrete algorithms
Performance of data structures for small sets of strings
ACSC '02 Proceedings of the twenty-fifth Australasian conference on Computer science - Volume 4
Randomized splay trees: theoretical and experimental results
Information Processing Letters
Adaptive Structuring of Binary Search Trees Using Conditional Rotations
IEEE Transactions on Knowledge and Data Engineering
Performance analysis of BSTs in system software
Proceedings of the joint international conference on Measurement and modeling of computer systems
IEEE Transactions on Software Engineering
Software—Practice & Experience
Lists on lists: a framework for self-organizing lists in environments with locality of reference
WEA'06 Proceedings of the 5th international conference on Experimental Algorithms
Hi-index | 0.00 |
Access requests to keys stored into a data structure often exhibit locality of reference in practice. Such a regularity can be modeled, e.g., by working sets. In this paper we study to what extent can the existence of working sets be taken advantage of in splay trees. In order to reduce the number of costly splay operations we monitor for information on the current working set and its change. We introduce a simple algorithm which attempts to splay only when necessary. Under worst-case analysis the algorithm guarantees an amortized logarithmic bound. In empirical experiments it is 5% more efficient than randomized splay trees and at most 10% more efficient than the original splay tree. We also briefly analyze the usefulness of the commonly-used Zipf's distribution as a general model of locality of reference.