On-the-Fly Array Initialization in Less Space *

Torben Hagerup, Frank Kammer
We show that for all given n, t, w ∈ {1, 2,. . .} with n < 2 w , 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/(2w)) 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 initializa-tion and access (i.e., reading and writing) in constant time with nw + n/w t bits for arbitrary fixed t,
more » ... o be compared with nw + Θ(n) bits for the best previous solution, and at the opposite end, still with constant-time initialization, we support O(log n)-time access with just nw + 1 bits, which is optimal for arbitrary access times if the initialization executes fewer than n steps.