Basic Building Blocks

Many of the data structures mentioned in Demaine et al 2007 require, as a prerequisite, the implementation of more basic building blocks.

Building blocks which have been implemented:

  • Doubly-linked list: required for Partially-Retroactive Queue and for Partially-Retroactive Priority Queue.

  • Binary search tree: required for Partially-Retroactive Priority Queue.

Building blocks which have not yet been implemented:

  • Link-cut tree: required for Fully-Retroactive Union-Find. (Sleator and Tarjan, 1983)

  • Modified (a,b)-tree: required for Fully-Retroactive Deque and for Partially-Retroactive Priority Queue. (Fleischer, 1996)

  • Persistence: required for O(√m)-overhead General Full Retroactivity. (Driscoll et al, 1989) (Fiat and Kaplan, 2001)

  • Order-statistic trees: required for the improved Fully Retroactive Queue. (Cormen et al, 2001).