We present a novel connection between binary search trees (BSTs) and points in the plane satisfying a simple property. Using this correspondence, we achieve the following results: 3. The first proposal for dynamic optimality not based on splay trees. A natural greedy but offline algorithm was presented by Lucas [1988], and independently by Munro [2000], and was conjectured to be an (additive) approximation of the best binary search tree. We show that there exists an equal-cost online algorithm, transforming the conjecture of Lucas and Munro into the conjecture that the greedy algorithm is dynamically optimal.
We present a dynamic comparison-based search structure that supports insertions, deletions, and searches within the unified bound. The unified bound specifies that it is quick to access an element that is near a recently accessed element. More precisely, if w(y) distinct elements have been accessed since the last access to element y, and d(x, y) denotes the rank distance between x and y among the current set of elements, then the amortized cost to access element x is O(min y log[w(y) + d(x, y) + 2]). This property generalizes the working-set and dynamic-finger properties of splay trees.
Pairing heaps are shown to have constant amortized time Insert and Meld, thus showing that pairing heaps have the same amortized runtimes as Fibonacci heaps for all operations but Decrease-Key.
IntroductionPairing heaps were introduced in [10] as a priority queue data structure modeled after splay trees [18]. As in splay trees, pairing heaps do not augment the nodes of the heap with any information, and use simple local restructuring heuristics to perform all operations. Such structures are referred to as self-adjusting. They are easy to code and empirically perform well [20].While the study of splay trees has been focused on their ability to quickly execute various distributions of operations [1-6, 13, 15, 18, 22], the study of pairing heaps remains stuck at a much earlier stage -tight amortized bounds on the runtimes of all operations in terms of the heap size remain unknown. There is also small body of work studying how pairing heaps work on particular distributions of operations [7,12,16].On the practical side, pairing heaps are in use. They are covered in some elementary and intermediate level data structures texts [23][24][25][26]. Additionally, one can find on the internet code that has been developed to implement pairing heaps in various languages. Pairing heaps were part of the pre-STL GNU C++ Library, and thus were distributed widely. * Part of this work appeared in preliminary form in [12] and [14].
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.