Worst-case Analysis of Set Union Algorithms
Journal of the ACM (JACM)
Data structures and network algorithms
Data structures and network algorithms
A data structure for dynamic trees
Journal of Computer and System Sciences
The art of computer programming, volume 1 (3rd ed.): fundamental algorithms
The art of computer programming, volume 1 (3rd ed.): fundamental algorithms
The art of computer programming, volume 3: (2nd ed.) sorting and searching
The art of computer programming, volume 3: (2nd ed.) sorting and searching
Self-Organizing Binary Search Trees
Journal of the ACM (JACM)
On self-organizing sequential search heuristics
Communications of the ACM
A Discipline of Programming
The Design and Analysis of Computer Algorithms
The Design and Analysis of Computer Algorithms
Amortized analyses of self-organizing sequential search heuristics
Communications of the ACM - Lecture notes in computer science Vol. 174
Self-adjusting binary search trees
Journal of the ACM (JACM)
An empirical comparison of priority-queue and event-set implementations
Communications of the ACM
A locally adaptive data compression scheme
Communications of the ACM
Oaklisp: an object-oriented scheme with first class types
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Application of splay trees to data compression
Communications of the ACM
Calendar queues: a fast 0(1) priority queue implementation for the simulation event set problem
Communications of the ACM
Concurrent operations on priority queues
Communications of the ACM
A methodology for implementing highly concurrent data structures
PPOPP '90 Proceedings of the second ACM SIGPLAN symposium on Principles & practice of parallel programming
A comparative performance evaluation of write barrier implementation
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
A methodology for implementing highly concurrent data objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
Simulation through explicit state description and its application to semiconductor fab operation
WSC '92 Proceedings of the 24th conference on Winter simulation
Index maintenance for non-uniform record distributions
PODS '84 Proceedings of the 3rd ACM SIGACT-SIGMOD symposium on Principles of database systems
Randomized Meldable Priority Queues
SOFSEM '98 Proceedings of the 25th Conference on Current Trends in Theory and Practice of Informatics: Theory and Practice of Informatics
Can competitive analysis be made competitive?
CASCON '92 Proceedings of the 1992 conference of the Centre for Advanced Studies on Collaborative research - Volume 1
A Complexity O(1) priority queue for event driven molecular dynamics simulations
Journal of Computational Physics
Near-entropy hotlink assignments
ESA'06 Proceedings of the 14th conference on Annual European Symposium - Volume 14
Multidimensional Height-Balanced Trees
IEEE Transactions on Computers
Hi-index | 0.08 |
We use the idea of self-adjusting trees to create new, simple data structures for priority queues (which we call heaps) and search trees. Unlike other efficient implementations of these data structures, self-adjusting trees have no balance condition. Instead, whenever the tree is accessed, certain adjustments take place. (In the case of heaps, the adjustment is a sequence of exchanges of children, in the case of search trees the adjustment is a sequence of rotations.) Self-adjusting trees are efficient in an amortized sense: any particular operation may be slow but any sequence of operations must be fast. Self-adjusting trees have two advantages over the corresponding balanced trees in both applications. First, they are simpler to implement because there are fewer cases in the algorithms. Second, they are more storage-efficient because no balance information needs to be stored. Furthermore, a self-adjusting search tree has the remarkable property that its running time (for any sufficiently long sequence of search operations) is within a constant factor of the running time for the same set of searches on any fixed binary tree. It follows that a self-adjusting tree is (up to a constant factor) as fast as the optimal fixed tree for a particular probability distribution of search requests, even though the distribution is unknown.