有一个n×n的对称矩阵A,将其下三角部分按行存放在一维数组B里,而A〔0〕〔0〕存放于B〔0〕中,则第i+1行的对角元素A〔i〕〔8〕存放于B的何处
时间: 2024-04-03 21:36:15 浏览: 72
根据对称矩阵的性质,第i行对角线以上的元素个数为i,因此第i行对角线的元素A[i][i]存储在一维数组B中的第i(i+1)/2个位置上,同时第i行到第i+1行之间的元素个数为i,因此A[i+1][i]存储在一维数组B中的第i(i+1)/2+8个位置上。因此第i+1行的对角元素A[i+1][8]存放在B[i(i+1)/2+8]中。
相关问题
设矩阵A是一个对称矩阵,为了节省存储,将其下三角部分按行序存放在一维数组B[1,n(n-1)/2]中,对下三角部分中任一元素ai,j(i>=j),在一维数组B的下标位置k的值是?
设下标i,j在矩阵A中对应的一维数组B的下标为k,则有:
k = (i-1)*n - (i-2)(i-1)/2 + j-i
推导如下:
在矩阵A中,第i行前有i-1行,每行有n个元素,因此前i-1行共有(i-1)*n个元素。
对于第i行,其下标从i开始,到n结束,即有n-i+1个元素。但是由于A是对称矩阵,下三角部分与上三角部分相同,因此只需要存储下三角部分,即j<=i,因此第i行只需要存储i个元素。
因此,前i-1行和第i行共有(i-1)*n+i个元素,在一维数组B中的下标为:
k = (i-1)*n + i-1 + j-i
= (i-1)*n - (i-1)(i-2)/2 + j-i
= (i^2-i)/2 + j-i (化简)
因此,对于任一元素ai,j,其在一维数组B中的下标位置k为:
k = (i^2-i)/2 + j-i (i>=j)
一个n阶对称矩阵a,其上三角各元素按行序存放于一维数组B中,请给出B[k]和A[i][j]的关系
B[k] 对应 A[i][j],其中 i 和 j 的关系为:
i = n - 2 - sqrt(-8*k + 4*n*(n-1) + 1) / 2
j = k + i + 1 - n*(n-1)/2 + (n-i)*((n-i)-1)/2
其中,i 和 j 都从 0 开始编号。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)