A Tight Analysis of Slim Heaps and Smooth Heaps
The smooth heap and the closely related slim heap are recently invented self-adjusting implementations of the heap (priority queue) data structure. We analyze the efficiency of these data structures. We obtain the following amortized bounds on the time per operation: O(1) for make-heap, insert, find-min, and meld; O(loglog n) for decrease-key; and O(log n) for delete-min and delete, where n is the current number of items in the heap. These bounds are tight not only for smooth and slim heaps but for any heap implementation in Iacono and Özkan's pure heap model, intended to capture all possible "self-adjusting" heap implementations. Slim and smooth heaps are the first known data structures to match Iacono and Özkan's lower bounds and to satisfy the constraints of their model. Our analysis builds on Pettie's insights into the efficiency of pairing heaps, a classical self-adjusting heap implementation.
READ FULL TEXT