Compact dynamic rewritable (CDRW) arrays

6Citations
Citations of this article
5Readers
Mendeley users who have this article in their library.
Get full text

Abstract

In this paper we consider the problem of compactly representing a rewritable array of bit-strings. The operations supported are: create(N; k), which creates a new array of size N, where each entry is of size at most k bits and equal to 0; set(i; v), which sets A[i] to v, provided that v is at most k bits long and get(i) which returns the value of A[i]. Our aim is to approach the minimum possible space bound of S = σN-1i=0 jA[i]j, where jA[i]j ≥ 1 is the length in bits of the number in A[i], while simultaneously supporting operations in O(1) time. We call such a data structure a Compact Dynamic Rewriteable Array (CDRW) array. On the word RAM model with word size w, for n < 2w and k ≤ w, we give practical solutions based on compact hashing that achieve O(1=ϵ) expected time for get and set and use (1 + ϵ)S + O(N) bits, for any constant ϵ < 0. Experimental evaluation of our (preliminary, only somewhat optimized) implementations shows excellent performance in terms of both space and time, particularly when heuristics are added to our base algorithms.

Cite

CITATION STYLE

APA

Poyias, A., Puglisi, S. J., & Raman, R. (2017). Compact dynamic rewritable (CDRW) arrays. In Proceedings of the Workshop on Algorithm Engineering and Experiments (Vol. 0, pp. 109–119). Society for Industrial and Applied Mathematics Publications. https://doi.org/10.1137/1.9781611974768.9

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free