今天来看一下数据结构中的矩阵压缩问题,这个地方曾经可是让我左右为难。就是不知道这个下标是怎么算的。
最近突然重新看了一遍,发现好像也没有那么难。
首先,矩阵中的特殊矩阵主要有,对称矩阵,三角矩阵,以及对角矩阵。
凭什么这些矩阵就要特殊呢?
当然是在这些矩阵中有很多值相同的元素并且分布是有一定规律的。所以为了节省存储的空间 会将这些矩阵只存储一部分就可以了。
怎么计算矩阵中某个元素存储在数组中的下标呢?
- 其实只要牢记一个本质:计算元素的个数,利用等差数列求和。
对称矩阵
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/8b7d11a3c55c03059898ed737273301d.jpeg)
三角矩阵
方法同上
对角矩阵
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/f72514d5eff1e584d453d4e6b675eb69.jpeg)