32 research outputs found
On Dynamic Optimality for Binary Search Trees
Does there exist O(1)-competitive (self-adjusting) binary search tree (BST)
algorithms? This is a well-studied problem. A simple offline BST algorithm
GreedyFuture was proposed independently by Lucas and Munro, and they
conjectured it to be O(1)-competitive. Recently, Demaine et al. gave a
geometric view of the BST problem. This view allowed them to give an online
algorithm GreedyArb with the same cost as GreedyFuture. However, no
o(n)-competitive ratio was known for GreedyArb. In this paper we make progress
towards proving O(1)-competitive ratio for GreedyArb by showing that it is
O(\log n)-competitive
The Fresh-Finger Property
The unified property roughly states that searching for an element is fast
when the current access is close to a recent access. Here, "close" refers to
rank distance measured among all elements stored by the dictionary. We show
that distance need not be measured this way: in fact, it is only necessary to
consider a small working-set of elements to measure this rank distance. This
results in a data structure with access time that is an improvement upon those
offered by the unified property for many query sequences
In pursuit of the dynamic optimality conjecture
In 1985, Sleator and Tarjan introduced the splay tree, a self-adjusting
binary search tree algorithm. Splay trees were conjectured to perform within a
constant factor as any offline rotation-based search tree algorithm on every
sufficiently long sequence---any binary search tree algorithm that has this
property is said to be dynamically optimal. However, currently neither splay
trees nor any other tree algorithm is known to be dynamically optimal. Here we
survey the progress that has been made in the almost thirty years since the
conjecture was first formulated, and present a binary search tree algorithm
that is dynamically optimal if any binary search tree algorithm is dynamically
optimal.Comment: Preliminary version of paper to appear in the Conference on Space
Efficient Data Structures, Streams and Algorithms to be held in August 2013
in honor of Ian Munro's 66th birthda
Weighted dynamic finger in binary search trees
It is shown that the online binary search tree data structure GreedyASS
performs asymptotically as well on a sufficiently long sequence of searches as
any static binary search tree where each search begins from the previous search
(rather than the root). This bound is known to be equivalent to assigning each
item in the search tree a positive weight and bounding the search
cost of an item in the search sequence by
amortized. This result is the strongest finger-type bound to be proven for
binary search trees. By setting the weights to be equal, one observes that our
bound implies the dynamic finger bound. Compared to the previous proof of the
dynamic finger bound for Splay trees, our result is significantly shorter,
stronger, simpler, and has reasonable constants.Comment: An earlier version of this work appeared in the Proceedings of the
Twenty-Seventh Annual ACM-SIAM Symposium on Discrete Algorithm
Locally Self-Adjusting Skip Graphs
We present a distributed self-adjusting algorithm for skip graphs that
minimizes the average routing costs between arbitrary communication pairs by
performing topological adaptation to the communication pattern. Our algorithm
is fully decentralized, conforms to the model (i.e. uses
bit messages), and requires bits of memory for each
node, where is the total number of nodes. Upon each communication request,
our algorithm first establishes communication by using the standard skip graph
routing, and then locally and partially reconstructs the skip graph topology to
perform topological adaptation. We propose a computational model for such
algorithms, as well as a yardstick (working set property) to evaluate them. Our
working set property can also be used to evaluate self-adjusting algorithms for
other graph classes where multiple tree-like subgraphs overlap (e.g. hypercube
networks). We derive a lower bound of the amortized routing cost for any
algorithm that follows our model and serves an unknown sequence of
communication requests. We show that the routing cost of our algorithm is at
most a constant factor more than the amortized routing cost of any algorithm
conforming to our computational model. We also show that the expected
transformation cost for our algorithm is at most a logarithmic factor more than
the amortized routing cost of any algorithm conforming to our computational
model