声明:以下都是学的尚硅谷网课所记的笔记。
简要
数据结构是一门研究组织数据方式的学科,学好数据结构可以写出更漂亮、更有效率的代码。
数据结构的分类
- 线性结构:数组,队列,链表,栈。数据之间有一对一的线性关系,有顺序存储和链式存储两种存储结构。
- 非线性结构:二维数组(多维),广义表,树,图。
稀疏数组
- 作用:压缩二维数组,当一个数组中数据大部分为0或者为同一数值的数组,可用稀疏数组来保存该数组。
- 实现:记录数组一共几行几列,有多少不同的值;然后把具有不同的值的元素的行列和值放在一个小规模的数组中,从而缩小规模。
- 二维数组转稀疏数组:
1.遍历原始二维数组,得到有效数据个数sum;
2.根据sum创建稀疏数组int [sum+1] [3]
;
3.将二维数组的有效数据存到稀疏数组中,第一行记录原始数组有几行几列和有效数据的个数,后面每一行分别存有效数据的行、列和值,这样就完成了压缩。 - 稀疏数组转二维原始数组:
1.先将稀疏数组的第一行,根据第一行数据,创建原始二维数组;
2.读取稀疏数组的后几行数据,依次的放回原始数组指定位置。
---------------------------- 个人学习笔记----------------------------