数组与矩阵
三角矩阵
概念:
- 矩阵是n*n的个元素组成的正方体,表示由n行n列组成的一个正方体,也叫n阶矩阵
- 三角矩阵:
- 按照主对角线\负对角线(反斜杠\)分割,在主对角线右上角的叫做上三角
- 同理,在负对角线左下角的叫做下三角
- 存储方式:
- 按行存储:表示优先存满行
- 按列存储:表示优先存满列
- 三角矩阵与数组联动:一般要求把三角矩阵的元素存储在指定的数组中,特别注意三角矩阵和数组的下标
- 解题:题目没给出矩阵时画出矩阵,一般n阶矩阵,n=3时简单方便,画出矩阵后,列表所有值存放到数组,然后用选项的公式验证即可
设下三角矩阵(上三角部分的元素值都为0)A[0..n,0..n]如下所示,将该三角矩阵的所有非零元素(即行下标不小于列下标的元素)按行优先压缩存储在容量足够大的数组M[]中(下标从1开始),则元素Ai,j存储在数组M的( D )中。
- (A)
- (B)
- (C)
- (D)
解析:
- 按行优先存储
- 数组下标从1开始
所以,
A00存放在M[1]
A10存放在M[2]
A11存放在M[3]
将A00带入公式,此时i=0,j=0,得到的数组应该是M[1], 只有D答案正确,下课!!
解析:
图中提到n阶矩阵,没有给矩阵图,所以自己画,
题干信息:
- n阶矩阵,所以假设n=3
- 上三角
- 矩阵元素下标从0开始
- 数组元素下标从1开始存储
A00存储在数组1的位置,01存储在2的位置,观察题目,代入A00到选项,即i=0,j=0的时候,得到的数组下标k的值应该是1, 带入验证得到D答案