Answer from cs61c-el (David Tung 16479725) for Question 2 The way that a two dimensional array is stored may be that the rows are just listed in order; so for this array, in memory, it may be x[0][0] x[0][1] .... Therefore, this is the most efficient way of taking advantage of spatial locality. Since the blocks x[i][0] to x[i][20] are located in a contiguous block in memory, this is the best way to take advantage of caching, since we can load that continuous block in one operation.