数组和广义表
数组
- 一维数组
- loc(ai)=loc(a0) +i*c
- 随机存取结构
- 多维数组
- 二维数组逻辑结构
- 二维数组的存储结构
- 顺序存储结构
-

- 随机存取结构
- 动态存储结构
- 每行顺序存储,数组中指针指向顺序表的地址
- 还是随机存取结构
-

- java语言中的二维数组
- 动态的,引用模型
- 声明和使用二维数组
- 不规则的二维数组
- 通过分别申请第一维的存储空间和第二维的存储空间实现解耦,可以构建不规则的二维数组
- 二维数组可作为方法的参数和返回值
- 矩阵运算
- 矩阵类
- 行数、列数
- 二维数组
- 构造零方阵
- 用二维数组构造矩阵
- 鞍点
- 在矩阵中,一个数在所在行时最大值,在所在列是最小值
特殊矩阵的压缩存储
- 三角矩阵、对称矩阵和对角矩阵的压缩存储
- 三角矩阵的压缩存储
- 线性压缩
- 由于三角矩阵每行的个数是确定的,因此实际上可以直接将其放入线性表中,根据位置关系进行存取
- 三角形的二维数组压缩
- 对称矩阵的压缩
- 对角矩阵的压缩
- 稀疏矩阵的压缩存储
- 稀疏矩阵非零元素三元组
- 可以通过存储位置以及值的方式进行存储
- 行号、列号、值
- 三元组比较器类
- 稀疏矩阵三元组顺序表
- 顺序存储的是三元组的类对象,本质上和数组的动态存储时不一样的,数组的动态存储是一维数组的每个元素指向了不同的一维数组,第二层数组还可以存放数据,可以修改不同数组的元素个数,不规则
- 行主序的排序顺序表排序行和列
- 稀疏矩阵三元组单链表
- 稀疏矩阵行的单链表
- 找到每行的非零元素,用单链表连接,每行的序号以顺序表的方式存在
- 每行开始时随机存取的,如果要找对应行的数据只需要遍历对应行的内容,不需要遍历所有
- 稀疏矩阵单链表操作
- 比较矩阵是否相等
- 顺序表个数是否相等
- 每行的单链表个数是否相等
- 每个三元组是否相等
- 矩阵相加
- 稀疏矩阵的十字链表