数据结构是算法的基础
数据结构包括:线性结构和非线性结构
线性结构
1.特点:数据元素之间存在一对一的线性关系
2.常见如,一维数组,链表,栈,队列
3.包括两种存储结构:顺序存储和链式存储(链表)结构
4.顺序存储的线性表成为顺序表,顺序表中的存储元素是(地址)连续的
链式存储的线性表叫做链表,链表中的存储元素不一定连续,元素节点存放数据元素和相邻元素的地址信息
非线性结构
非线性结构包括:二维数组,多维数组,广义表,树,图等
1.当一个数组中大部分元素为0,或者是同一个值的数组时可以使用稀疏数组保存该数组
2.把具有不同值元素的行和列以及对应的值记录在一个小规模数组内,即稀疏数组,可以缩小程序的规模
例如,矩阵
0 0 0 22 0 0 15
0 11 0 0 0 17 0
0 0 0 -6 0 0 0
0 0 0 0 0 39 0
91 0 0 0 0 0 0
0 0 28 0 0 0 0
稀疏矩阵为
行列值
[0] 6 7 8
[1] 0 3 22
[2] 0 6 15
[3] 1 1 11
[4] 1 5 17
[5] 2 3 -6
[6] 3 5 39
[7] 4 0 91
[8] 5 2 28