数据结构分为:
线性结构:数组、队列、链表和栈
数据元素之间存在一对一关系
具有两种不同存储结构:
顺序存储结构:线性表称为顺序表,其中的存储元素是连续(地址连续)的
链式存储结构:线性表称为链表,其中的存储元素不一定是连续的,元素节点中存放数据元素以及相邻元素的地址信息
非线性结构:二维数组、多维数组、广义表、树结构、图结构
稀疏数组
eg:编写的五子棋程序(11x11)中,有存盘退出和续上盘的功能。
$:棋盘上有黑棋记为1,白棋记为2,无棋记为0。即存在0过多的情况。
稀疏数组:数组中大部分为0,或者为同一个值的数组时,使用稀疏数组保存
处理方法:
1.记录数组一共有几行几列,有多少个不同的值(数组的第一个数据)
2.把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模
多维数组转稀疏数组