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;