On-the-Fly Array Initialization in Less Space
Abstract
We show that for all given n,t,w ∈ \1,2,...\ with n<2w, an array of n entries of w bits each can be represented on a word RAM with a word length of w bits in at most nw+ n(t/(2 w))t bits of uninitialized memory to support constant-time initialization of the whole array and O(t)-time reading and writing of individual array entries. At one end of this tradeoff, we achieve initialization and access (i.e., reading and writing) in constant time with nw+ n/wt bits for arbitrary fixed t, to be compared with nw+(n) bits for the best previous solution, and at the opposite end, still with constant-time initialization, we support O( n)-time access with just nw+1 bits, which is optimal for arbitrary access times if the initialization executes fewer than n steps.
Turn this paper into a lesson
ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.