数据
1.数组的存储
直接可以通过二维数组来存储
2.特殊矩阵和稀疏矩阵
相同的元素或者零元素在矩阵中的分布存在一定规律
的矩阵称为特殊矩阵,反之称之为稀疏矩阵。
1.对称矩阵
矩阵中的元素满足ai,j=aj,i
的矩阵称为对称矩阵(矩阵必须是方阵)。
如何使用高效的存储方式来存储对称矩阵
因为对称矩阵关于正对角线对称,所以只需要存储下半部分即可
2.三角矩阵
主对角线上方全部为C
的矩阵,或者主对角线下方全部为C
的矩阵。
如何使用高效的存储方式来存储三角矩阵
这里采用行优先的方式来存储上三角矩阵,最后只要存储一个c即可
3.对角矩阵
下面有三行,所以被称为三对角矩阵
如何高效存储一个三对角矩阵
求出第i行带状区域内第一个元素X在一维数组中的下标,假设c存在数组的最后一位。
1)当i 等于1时,带状区域内第一个元素为矩阵中第一个元素,其在一维数组中下标为0。
2)当i大于1时,第i行之前的元素个数为2+(i-2)×3,则带状区域内第一个元素X在一维数组中的下标2+(i-2)×3
4.稀疏矩阵
如何高效存储一个稀疏矩阵
1.三元组表示法
三元组:
分别表示:非0元素个数、行数、列数
。
2.邻接表表示法
3.十字链表表示法
4 4 6分别表示:行数、列数、非0元素个数
。
2.广义表
1.逻辑结构
广义表的长度:为表中最上层元素的个数
。如广义表C的长度为2,注意不是3。
广义表的深度:为表中括号的最大层数
。
表头(Head)和表尾(Tail):当广义表非空时,第一个元素为广义表的表头
。其余元素
组成的表是广义表的表尾。