矩阵压缩

下三角矩阵
A[10,5]在一维数组中的下标(下标从0开始,行优先)
  • A[10,5]前面的元素个数:第1行——1个,第2行——2个,···,第9行——9个,第10行——4个(横着看,A[10,,5]-A[10,1]=4)。共49个。
  • A[10,5]的下标:0+49=49
A[10,5]在一维数组中的下标(下标从0开始,列优先)
  • A[10,5]前面的元素个数:第1列——n个,第2列——n-1个,···,第4列——n-3个;第5列——5个(竖着看,A[10,5]-A[5,5]=5)。
  • A[10,5]前面的元素个数:[n+(n-3)]×4/2+5=4n-1。
  • A[10,5]的下标:4n-1

 

上三角矩阵
A[5,10]在一维数组中的下标(下标从0开始,行优先)
  • 第1行——n个,第2行——n-1个,···,第4行——n-3个,第5行——5个(横着看,A[5,10]-A[5,5]=5)。
  • A[5,10]前面的元素个数:[n+(n-3)]×4/2+5=4n-1。
  • A[5,10]的下标:4n-1。
A[5,10]在一维数组中的下标(下标从0开始,列优先)
  • 第1列——1个,第2列——2个,···,第9列——9个,第10列——4个(竖着看,A[5,10]-A[1,10]=4)
  • A[5,10]前面的元素个数:(1+9)×9/2+4=49
  • A[5,10]的下标:0+49=49。

 

三对角矩阵
特点:❶第一行、最后一行有两个元素。❷其它各行有三个元素——第一个元素(i=j+1),第二个元素(i=j),第三个元素(i=j-1)。
A[30,30]在一维数组中的下标(下标从0开始,行优先):
  • 前29行有多少个元素:2+3×28=86;
  • A[30,30]是第30行的第几个元素:第2个(因为i=j)
  • A[30,30]前面有多少个元素:86+1=87
  • A[30,30]的下标:0+87=87
posted @ 2019-07-22 08:44  Ymengchun  阅读(229)  评论(0编辑  收藏  举报