有一个100阶的三对角矩阵M,其元素mi,j(1≤i≤100,1≤j≤100)按行优先次序压缩存入下标从0开始的一维数组N中。元素m30,30在N中的下标是( )。

admin2017-08-16  3

问题 有一个100阶的三对角矩阵M,其元素mi,j(1≤i≤100,1≤j≤100)按行优先次序压缩存入下标从0开始的一维数组N中。元素m30,30在N中的下标是(          )。

选项 A、86
B、87
C、88
D、89

答案B

解析 三对角矩阵如下图所示。

采用压缩存储,将3条对角线上的元素按行优先方式存放在一维数组B中,且a1.1存放于B[0][0]中,其存储形式如下图所示:

可以计算矩阵A中3条对角线上的元素a1.1(1≤i,j≤n,|i—j|≤1)在一堆数组B中存放的下标为k=2i+j-3。
解法一:针对该题,仅需要将数字逐一带入公式里面即可:k=2×30+30-3=87,结果为87。
解法二:观察上图的三角矩阵不难发现,第一行有两个元素,剩下的在元素m30,30所在行之前的28行(注意下标1≤i≤100、1≤j≤100)中每行都有3个元素,而m30,30之前仅有一个元素m30,29,那么不难发现元素m30,30在数组N中的下标是:2+28×3+2-1=87。
转载请注明原文地址:https://jikaoti.com/ti/WifjFFFM
0

相关试题推荐
最新回复(0)