Biased dictionaries with fast insert/deletes

  • Authors:
  • Funda Ergun;S. Cenk Sahinalp;Jonathan Sharp;Rakesh Sinha

  • Affiliations:
  • Department of EECS, Case Western Reserve University, Cleveland, OH;Department of EECS, Case Western Reserve University and Department of CS, University of Warwick;Department of CS, University of Warwick, UK;Ciena Core Switching Division

  • Venue:
  • STOC '01 Proceedings of the thirty-third annual ACM symposium on Theory of computing
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

A dictionary data structure supports efficient search, insert, and delete operations on n keys from a totally ordered universe. Red-black trees, 2-3 trees, AVL trees, skip lists and other classic data structures facilitate O(logn) time search, insert and deletes, matching the information theoretic lower bound when access probabilities are uniform i.i.d. If access probabilities are non-uniform but still i.i.d., there are other weighted data structures such as D-trees, biased search trees, splay trees and treaps which can achieve optimality.In many applications, however, the source of nonuniformity in access probabilities is locality of reference: examples include memory, cache, disk and buffer management and emerging applications in internetwork traffic management. In such applications, the access probability of any given key is not i.i.d., but decreases with idle time since the last access to the key.It is possible to adjust the weighted dictionaries to achieve optimal search time even under time dependent distributions; however insert/delete times will be suboptimal at O(logn). In this paper, we present a lazy updating scheme which can be applied to weighted dictionaries to improve their amortized insert/delete performance when access probabilities decrease with time; optimality of search time is preserved. More speci%cally, let r(k) be the number of distinct keys accessed since the last access to key k- that is r(k) is the move-to-front rank of k. Let rmax(k) be the maximum rank of k during its lifetime. Then our lazy update scheme enables the abovementioned data structures to perform search in O(log r(k)) time and insert/delete in O(log rmax(k)) time. We illustrate our lazy update scheme in the context of a new Biased Skip List data structure and show that our bounds are optimal.