Optimal resilient dynamic dictionaries

  • Authors:
  • Gerth Stølting Brodal;Rolf Fagerberg;Irene Finocchi;Fabrizio Grandoni;Giuseppe F. Italiano;Allan Grønlund Jørgensen;Gabriel Moruz;Thomas Mølhave

  • Affiliations:
  • Department of Computer Science, University of Aarhus, Denmark;Department of Mathematics and Computer Science, University of Southern Denmark, Odense, Denmark;Dipartimento di Informatica, Università di Roma "La Sapienza", Italy;Dipartimento di Informatica, Università di Roma "La Sapienza", Italy;Dipartimento di Informatica, Sistemi e Produzione, Università di Roma "Tor Vergata", Italy;Department of Computer Science, University of Aarhus, Denmark;Department of Computer Science, University of Aarhus, Denmark;Department of Computer Science, University of Aarhus, Denmark

  • Venue:
  • ESA'07 Proceedings of the 15th annual European conference on Algorithms
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

We investigate the problem of computing in the presence of faults that may arbitrarily (i.e., adversarially) corrupt memory locations. In the faulty memory model, any memory cell can get corrupted at any time, and corrupted cells cannot be distinguished from uncorrupted ones. An upper bound δ on the number of corruptions and O(1) reliable memory cells are provided. In this model, we focus on the design of resilient dictionaries, i.e., dictionaries which are able to operate correctly (at least) on the set of uncorrupted keys.We first present a simple resilient dynamic search tree, based on random sampling, with O(log n+δ) expected amortized cost per operation, and O(n) space complexity. We then propose an optimal deterministic static dictionary supporting searches in Θ(log n+δ) time in the worst case, and we show how to use it in a dynamic setting in order to support updates in O(log n + δ) amortized time. Our dynamic dictionary also supports range queries in O(log n+δ+t) worst case time, where t is the size of the output. Finally, we show that every resilient search tree (with some reasonable properties) must take Ω(log n + δ) worst-case time per search.