Polylogarithmic Fully Retroactive Priority Queues via Hierarchical Checkpointing

  • Erik D. Demaine
  • Tim Kaler
  • Quanquan Liu
  • Aaron Sidford
  • Adam Yedidia
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9214)

Abstract

Since the introduction of retroactive data structures at SODA 2004 [1], a major open question has been the difference between partial retroactivity (where updates can be made in the past) and full retroactivity (where queries can also be made in the past). In particular, for priority queues, partial retroactivity is possible in \(O(\log m)\) time per operation on a m-operation timeline, but the best previously known fully retroactive priority queue has cost \(\varTheta (\sqrt{m} \log m)\) time per operation.

We address this open problem by providing a general logarithmic-overhead transformation from partial to full retroactivity called “hierarchical checkpointing,” provided that the given data structure is “time-fusible” (multiple structures with disjoint timespans can be fused into a timeline supporting queries of the present). As an application, we construct a fully retroactive priority queue which can insert an element, delete the minimum element, and find the minimum element, at any point in time, in \(O(\log ^2 m)\) amortized time per update and \(O(\log ^2 m \log \log m)\) time per query, using \(O(m \log m)\) space. Our data structure also supports the operation of determining the time at which an element was deleted in \(O(\log ^2 m)\) time.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Erik D. Demaine
    • 1
  • Tim Kaler
    • 1
  • Quanquan Liu
    • 1
  • Aaron Sidford
    • 1
  • Adam Yedidia
    • 1
  1. 1.MIT CSAILCambridgeUSA

Personalised recommendations