数组与矩阵

三角矩阵

概念:

  1. 矩阵是n*n的个元素组成的正方体,表示由n行n列组成的一个正方体,也叫n阶矩阵
  2. 三角矩阵:
    1. 按照主对角线\负对角线(反斜杠\)分割,在主对角线右上角的叫做上三角
    2. 同理,在负对角线左下角的叫做下三角
  3. 存储方式:
    1. 按行存储:表示优先存满行
    2. 按列存储:表示优先存满列
  4. 三角矩阵与数组联动:一般要求把三角矩阵的元素存储在指定的数组中,特别注意三角矩阵和数组的下标
  5. 解题:题目没给出矩阵时画出矩阵,一般n阶矩阵,n=3时简单方便,画出矩阵后,列表所有值存放到数组,然后用选项的公式验证即可

201105软设上午真题-46

设下三角矩阵(上三角部分的元素值都为0)A[0..n,0..n]如下所示,将该三角矩阵的所有非零元素(即行下标不小于列下标的元素)按行优先压缩存储在容量足够大的数组M[]中(下标从1开始),则元素Ai,j存储在数组M的( D )中。 img

  • (A) img
  • (B) img
  • (C) img
  • (D) img

解析:

  1. 按行优先存储
  2. 数组下标从1开始

所以,

A00存放在M[1]

A10存放在M[2]

A11存放在M[3]

将A00带入公式,此时i=0,j=0,得到的数组应该是M[1], 只有D答案正确,下课!!


image-20250907093249248

解析:

图中提到n阶矩阵,没有给矩阵图,所以自己画,

题干信息:

  1. n阶矩阵,所以假设n=3
  2. 上三角
  3. 矩阵元素下标从0开始
  4. 数组元素下标从1开始存储

image-20250907093755036

A00存储在数组1的位置,01存储在2的位置,观察题目,代入A00到选项,即i=0,j=0的时候,得到的数组下标k的值应该是1, 带入验证得到D答案


image-20250913113404162