数据结构
一.线性结构与非线性结构
1.线性结构是一对一的关系,比如数组、链表、队列、栈等等
- 线性结构的存储方式分为:顺序存储以及链式存储
2.非线性结构是一对多的关系,比如二维数据、树、图
二.稀疏(sparsearray)数组
1.对于五子棋来说,他可以用二维数组来表示0表示无棋,1表示红棋,2表示黑棋,但是,这样这样存储的数据很大,会存在很多的0值,所以就引出了稀疏数组。
2.什么时候稀疏数组?
当二维数组中某个数很多就可以使用稀疏数组
3.怎么表示稀疏数组?
通过一个只保存除默认值以外其他值的二维数组,其对应的二维数组是多少个值就有多少行,然后是三列,分别表示行、列、值。(行列从0开始)(n+1行三列)
- 第一行保存的是原二维数组是几行几列的,除默认值以为其他值有几个
- 其他就是对应的在原二维数组的位置