| Date | November 2017 | Marks available | 1 | Reference code | 17N.1.HL.TZ0.14 |
| Level | HL | Paper | 1 | Time zone | no time zone |
| Command term | State | Question number | 14 | Adapted from | N/A |
Question
Consider the following two-dimensional array, MAT, with dimensions 6 × 6.
The value −1 is stored in MAT at position [4][2]. The position [4][2] means row 4 and column 2.
A two-dimensional array in which most of the elements are zero is called a sparse matrix. A sparse matrix can be compressed by storing only non-zero elements using three one‑dimensional arrays.
The first array, VALUES, stores all non-zero elements taken from the sparse matrix in row‑major order (left-to-right then top-to-bottom order).
The length of the array VALUES is equal to the number of non-zero elements in the sparse matrix. For the sparse matrix above, MAT, the array VALUES is:
The second array is ROWC. ROWC[i] stores the number of non-zero elements, from row 0 to row i of the sparse matrix, inclusive.
The length of ROWC is equal to the number of rows in the sparse matrix. For MAT the array ROWC is:
For example, ROWC[2] stores 3 because in MAT there are three non-zero elements from row 0 to row 2, inclusive.
The third array, COL, stores the column index for each non-zero element in the sparse matrix. COL[i] stores the sparse matrix column index for the non-zero element stored in VALUES[i]. For MAT the array COL is:
Consider the following three arrays. They hold the compressed contents of a 7 × 7 sparse matrix, .
State the total number of elements stored in MAT.
State the number of non-zero elements in MAT.
State how many rows in BIGMAT contain only zeros.
State the index in VALUES of the first non-zero element in row 5 of BIGMAT.
State the index in of the first non-zero element in row of
Markscheme
36;
7;
1;
5;
5;
