Improved bounds for multipass pairing heaps and path-balanced binary search trees

We revisit multipass pairing heaps and path-balanced binary search trees (BSTs), two classical algorithms for data structure maintenance. The pairing heap is a simple and efficient "self-adjusting" heap, introduced in 1986 by Fredman, Sedgewick, Sleator, and Tarjan. In the multipass variant (one of the original pairing heap variants described by Fredman et al.) the minimum item is extracted via repeated pairing rounds in which neighboring siblings are linked. Path-balanced BSTs, proposed by Sleator (Subramanian, 1996), are a natural alternative to Splay trees (Sleator and Tarjan, 1983). In a path-balanced BST, whenever an item is accessed, the search path leading to that item is re-arranged into a balanced tree. Despite their simplicity, both algorithms turned out to be difficult to analyse. Fredman et al. showed that operations in multipass pairing heaps take amortized $O(\log{n} \cdot \log\log{n} / \log\log\log{n})$ time. For searching in path-balanced BSTs, Balasubramanian and Raman showed in 1995 the same amortized time bound of $O(\log{n} \cdot \log\log{n} / \log\log\log{n})$, using a different argument. In this paper we show an explicit connection between the two algorithms and improve the two bounds to $O\left(\log{n} \cdot 2^{\log^{\ast}{n}} \cdot \log^{\ast}{n}\right)$, respectively $O\left(\log{n} \cdot 2^{\log^{\ast}{n}} \cdot (\log^{\ast}{n})^2 \right)$, where $\log^{\ast}(\cdot)$ denotes the very slowly growing iterated logarithm function. These are the first improvements in more than three, resp. two decades, approaching in both cases the information-theoretic lower bound of $\Omega(\log{n})$.

[1]  Kurt Mehlhorn,et al.  The landscape of bounds for binary search trees , 2016, ArXiv.

[2]  L FredmanMichael,et al.  Fibonacci heaps and their uses in improved network optimization algorithms , 1987 .

[3]  Robert E. Tarjan,et al.  A Back-to-Basics Empirical Study of Priority Queues , 2014, ALENEX.

[4]  John Iacono,et al.  In Pursuit of the Dynamic Optimality Conjecture , 2013, Space-Efficient Data Structures, Streams, and Algorithms.

[5]  Robert E. Tarjan,et al.  The pairing heap: A new form of self-adjusting heap , 2005, Algorithmica.

[6]  Robert E. Tarjan,et al.  Rotation distance, triangulations, and hyperbolic geometry , 1986, STOC '86.

[7]  Robert E. Tarjan,et al.  Self-adjusting binary search trees , 1985, JACM.

[8]  Kurt Mehlhorn,et al.  Self-Adjusting Binary Search Trees: What Makes Them Tick? , 2015, ESA.

[9]  Michael L. Fredman,et al.  On the efficiency of pairing heaps and related data structures , 1999, JACM.

[10]  Ashok Subramanian An Explanation of Splaying , 1994, FSTTCS.

[11]  Robert E. Tarjan,et al.  Fibonacci heaps and their uses in improved network optimization algorithms , 1984, JACM.

[12]  Donald E. Knuth,et al.  The art of computer programming, volume 3: (2nd ed.) sorting and searching , 1998 .

[13]  Venkatesh Raman,et al.  Path Balance Heuristic for Self-Adjusting Binary Search Trees , 1995, FSTTCS.

[14]  George F. Georgakopoulos,et al.  Generalized Template Splay: A Basic Theory and Calculus , 2004, Comput. J..

[15]  John Iacono,et al.  Improved Upper Bounds for Pairing Heaps , 2000, SWAT.

[16]  Seth Pettie,et al.  Towards a final analysis of pairing heaps , 2005, 46th Annual IEEE Symposium on Foundations of Computer Science (FOCS'05).

[17]  John T. Stasko,et al.  Pairing heaps: experiments and analysis , 1987, CACM.