目录
右上三角矩阵
上三角矩阵就是一种对角线以下元素都为0的 n x n矩阵。其中右上三角矩阵是指对角线以下的元素都为0。由于上三角矩阵仍然有大量元素为0,为了避免浪费太多的内存空间,可以把三角矩阵的二维模式存储在一维列表中。
![]() |
![]() |
![]() |
... | ![]() |
0 | ![]() |
![]() |
... | ![]() |
0 | 0 | ![]() |
... | ![]() |
... | ... | ... | ... | ... |
0 | 0 | 0 | ... | ![]() |
对于如上所示的 n x n右上三角矩阵A(ij),如果i > j,那么对应位置的元素值为0。
解决方案
由于采用Python解决这个问题,一维列表不需要实现声明大小。将该矩阵的有效元素映射为一维列表存储有两种解决方案,映射方式分为以行为主和以列为主两种方式。
1. 以行为主的存储映射
以行为主的存储方案是先将右上三角矩阵的第一行对角线及对角线以上的元素存储在一维列表中,然后在将右上三角矩阵的第二行对角线及对角线以上的元素存储在一维列表中。。。以此类推存储每一行元素。这样存储的一维列表中包含了右上三角矩阵中全部的有效元素。
![]() |
![]() |
![]() |
![]() |
... | ![]() |