Matrix | Data Structure MCQs

  • 1. What is the order of a matrix?
   A.) number of rows X number of columns
   B.) number of columns X number of rows
   C.) number of rows X number of rows
   D.) number of columns X number of columns

Answer: Option 'A'

By definition, the order of a matrix is number of rows X number of columns, generally denoted by mXn(not compulsory).

  • 2. Which of the following property does not hold for matrix multiplication?
   A.) Associative
   B.) Distributive
   C.) Commutative
   D.) None of these

Answer: Option 'C'

Commutative

  • 3. How do you allocate a matrix using a single pointer in C?(r and c are the number of rows and columns respectively)
   A.) int *arr = malloc(r * c * sizeof(int));
   B.) int *arr = (int *)malloc(r * c * sizeof(int));
   C.) int *arr = (int *)malloc(r + c * sizeof(int));
   D.) int *arr = (int *)malloc(r * c * sizeof(arr));

Answer: Option 'B'

int *arr = (int *)malloc(r * c * sizeof(int));
Total number of elements in the matrix will be r*c

  • 4. Select the code snippet which performs matrix multiplication.(a and b are the two given matrices, resultant marix is c)
   A.)
for (int i = 0; i < n; i++)
{
    for (int j = 0; j < n; j++)
    {
        for (int k = 0; k < n; k++)
        {
            c[i][j] = c[i][j] + a[i][k] * b[k][j];
        }
    }
}
   B.)
for (int i = 0; i < n; i++)
{
    for (int j = 0; j < n; j++)
    {
        for (int k = 0; k < n; k++)
        {
            c[i][j] = c[i][j] * a[i][k] * b[k][j];
        }
    }
}
   C.)
for (int i = 0; i < n; i++)
{
    for (int j = 0; j < n; j++)
    {
        for (int k = 0; k < n; k++) 
        {
            c[i][j] = c[i][j] + a[i][k] + b[k][j];
        }
    }
}
   D.) None of these

Answer: Option 'A'

The corresponding elements from the row and column are multiplied and a cumulative sum is formed.

  • 5. What does the following piece of code do?
    for(int i = 0; i < row; i++)
    {  
        for(int j = 0; j < column; j++)
        {
            if(i == j)
                sum = sum + (array[i][j]);
        }
    }
    System.out.println(sum);
   A.) Normal of a matrix
   B.) Trace of a matrix
   C.) Square of a matrix
   D.) Transpose of a matrix

Answer: Option 'B'

trace of a matrix is the sum of the principal diagonal elements.

  • 6. If row-major order is used, how is the following matrix stored in memory?
    a b c
    d e f
    g h i
   A.) ihgfedcba
   B.) abcdefghi
   C.) cfibehadg
   D.) adgbehcfi

Answer: Option 'B'

abcdefghi
It starts with the first element and continues in the same row until the end of row is reached and then proceeds with the next row. C follows row-major order.

  • 7. Which of the following are the uses of matrices?
   A.) In solving linear equations
   B.) Image processing
   C.) Graph theory
   D.) All of these

Answer: Option 'D'

Solving linear equations is a separate field in Mathematics involving matrices, Image processing stores the pixels in the form of matrices, and the graphs are represented with the help of matrices to indicate the nodes and edges.

  • 8. What is the disadvantage of matrices?
   A.) Internal complexity
   B.) Searching through a matrix is complex
   C.) Not space efficient
   D.) All of these

Answer: Option 'D'

time complexity of a matrix is O(n2) and sometimes the internal organization becomes tedious.

  • 9. Matrix A when multiplied with Matrix C gives the Identity matrix I, what is C?
   A.) Identity matrix
   B.) Inverse of A
   C.) Square of A
   D.) Transpose of A

Answer: Option 'B'

Any square matrix when multiplied with its inverse gives the identity matrix. Note that non square matrices are not invertible.



Matrix | Data Structure MCQs Download Pdf