首先来看什么是对称矩阵:
设一个N*N的方阵A,A中任意元素Aij,当且仅当Aij == Aji(0 <= i <= N-1& 0 <= j <= N-1),则矩阵A是对称矩阵。以矩阵的对角线为分隔,分为上角和下三角。
压缩存储指的是:矩阵存储时只需要存储上三角/下三角的数据,所以最多存储n(n+1)/2个数据。
对称矩阵和压缩存储的对应关系:下三角存储i>=j, SymmetricMatrix[i][j] ==arry[i*(i+1)/2+j]
比如下面的例子:
可以看到上三角和下三角数据相同,那么我们存储时只需存储一个三角的数据就可以,很好的节省了空间。
代码实现部分:
//头文件
#pragma once
#inclu