Smooth heaps and a dual view of self-adjusting data structures

02/15/2018
by   László Kozma, et al.
0

We present a new connection between self-adjusting binary search trees (BSTs) and heaps, two fundamental, extensively studied, and practically relevant families of data structures. Roughly speaking, we map an arbitrary heap algorithm within a broad and natural model, to a corresponding BST algorithm with the same cost on a dual sequence of operations (i.e. the same sequence with the roles of time and key-space switched). This is the first general transformation between the two families of data structures. There is a rich theory of dynamic optimality for BSTs (i.e. the theory of competitiveness between BST algorithms). The lack of an analogous theory for heaps has been noted in the literature. Through our connection, we transfer all instance-specific lower bounds known for BSTs to a general model of heaps, initiating a theory of dynamic optimality for heaps. On the algorithmic side, we obtain a new, simple and efficient heap algorithm, which we call the smooth heap. We show the smooth heap to be the heap-counterpart of Greedy, the BST algorithm with the strongest proven and conjectured properties from the literature, widely believed to be instance-optimal. Assuming the optimality of Greedy, the smooth heap is also optimal within our model of heap algorithms. Intriguingly, the smooth heap, although derived from a non-practical BST algorithm, is simple and easy to implement (e.g. it stores no auxiliary data besides the keys and tree pointers). It can be seen as a variation on the popular pairing heap data structure, extending it with a "power-of-two-choices" type of heuristic. For the smooth heap we obtain instance-specific upper bounds, with applications in adaptive sorting, and we see it as a promising candidate for the long-standing question of a simpler alternative to Fibonacci heaps.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/10/2021

Analysis of Smooth Heaps and Slim Heaps

The smooth heap is a recently introduced self-adjusting heap [Kozma, Sar...
research
08/10/2021

A Tight Analysis of Slim Heaps and Smooth Heaps

The smooth heap and the closely related slim heap are recently invented ...
research
07/06/2023

Efficiency of Self-Adjusting Heaps

Since the invention of the pairing heap by Fredman et al., it has been a...
research
03/08/2019

Belga B-trees

We revisit self-adjusting external memory tree data structures, which co...
research
01/05/2022

What Does Dynamic Optimality Mean in External Memory?

In this paper, we revisit the question of how the dynamic optimality of ...
research
02/18/2021

Data Structures Lower Bounds and Popular Conjectures

In this paper, we investigate the relative power of several conjectures ...
research
05/15/2018

Parallel Working-Set Search Structures

In this paper we present two versions of a parallel working-set map on p...

Please sign up or login with your details

Forgot password? Click here to reset