算法与数据结构学习Day01:
1.线性结构与非线性结构
线性结构: 数组,链表,栈,队列
非线性结构: 树,图,多维数组,广义表
2.稀疏数组
稀疏数组的概念:将二维数组转换为一个特定的3列多行数组来减少没有数据存储的数组大小的数组。
稀疏数组具体样式:第一行为第一列分别为:行数,列数,有多少个有数值的总数。第二行开始为:第几行,第几列,具体数据的值。
稀疏数组的作用:用来减少数组的规模
3.标题数组与稀疏数组之间的转换实现思路
数组转换为稀疏数组:
前提条件时我们已知这个数组的行和列
1.先遍历数组将数组中不为0的数据记录下来并统计总数,并将对应的数据的位置和值记录下来
2.创建一个为**记录总数值加一(因为第一行必定是记录多少行多少列多少数值)**行数和三列的数组(列数固定为3)
3.第一行录入行,列,总数。其余录入对应记录数值的行,列,具体数值。
稀疏数组转换为数组
1.根据记录的数组的第一行的数据得到具体数组的行数,列数,建立相同大小的数组。
2.根据从第二行开始记录的数据,第一列对应行,第二列对应列,第三行对应数值,进行在数组中添加元素。