数据结构

一.线性结构与非线性结构

1.线性结构是一对一的关系,比如数组、链表、队列、栈等等

  • 线性结构的存储方式分为:顺序存储以及链式存储

2.非线性结构是一对多的关系,比如二维数据、树、图

二.稀疏(sparsearray)数组

1.对于五子棋来说,他可以用二维数组来表示0表示无棋,1表示红棋,2表示黑棋,但是,这样这样存储的数据很大,会存在很多的0值,所以就引出了稀疏数组。
2.什么时候稀疏数组?
 当二维数组中某个数很多就可以使用稀疏数组
3.怎么表示稀疏数组?
 通过一个只保存除默认值以外其他值的二维数组,其对应的二维数组是多少个值就有多少行,然后是三列,分别表示行、列、值。(行列从0开始)(n+1行三列)

  • 第一行保存的是原二维数组是几行几列的,除默认值以为其他值有几个
  • 其他就是对应的在原二维数组的位置
    数据结构