Abstract

Classic dynamic data structures maintains itself subject to sequence S of operations and answer queries using the latest version of the data structure. Retroactive data structures are those which allow making a modification or a query in any version of this data structure through its timeline. These data structures are used in some geometric problems and in problems related with graphs, such as the minimum path problem in dynamic graphs. This work presents how to implement a data structure to a fully retroactive version of a priority queue through persistent self-balanced binary search trees in polylogarithmic time. We use these data structures to improve the performance merging two versions of partially retroactive priority queues. The empirical analysis showed that the average performance of the proposed algorithm is better in terms of processing times than the other algorithms, despite the high constants in its complexity.

Highlights

  • Considering the computational evolution and the miniaturization of hardware components, software should be able to support a large volume of data and an expressive number of operations

  • In this article we perform a slight modification in the original algorithm proposed to get the fully retroactive priority queue in poly-logarithmic time using fully persistent self-balanced binary search trees

  • It is possible to generate a binary tree in the data structure timeline, in which each node represents a continuous time range in this timeline

Read more

Summary

Introduction

Considering the computational evolution and the miniaturization of hardware components, software should be able to support a large volume of data and an expressive number of operations. The operations in the retroactive version of the priority queue are a bit harder to handle, once a modification in the past can create a cascade effect, changing the timelines of each element in the data structure. Years later, Demaine et al (2015) presented an optimized solution that allows performing the update operations in O(lg2m) time, using a data structure called checkpoint tree. This new approach supports the operation of determining the time at which an element was deleted from the data structure in O(lg2m) time. In this article we perform a slight modification in the original algorithm proposed to get the fully retroactive priority queue in poly-logarithmic time using fully persistent self-balanced binary search trees

Related Works
Findings
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call