数组:具有相同类型的数据元素的集合
一维数组不说了,二维数组——套娃数组[行][列]
体会一下
typedef int arra1[n]
typedef array1 array2[m]
数组特点:结构固定——维度和维界不变,没有那些乱七八糟的操作
一般采取顺序存储结构来表示数组
感觉还是比较简单的
假设有一个二维数组A[m][n]按行优先顺序存储,A[0][0]存放位置在644(10),
A[2][2]存放在位置676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?
//(10)表示用十进制表示
A[2][2]前面总共有(2n+2)个元素
Loc(2,2) = Loc(0,0)+ 2 * n + 2 = 644 + 2 * n + 2 =676
n = 15
矩阵、广义表建议看书
对称矩阵n*n
只存储上(下)三角包括对角线上的元素,共(1+n)n/2
三角矩阵
对角线以上或以下的数据元素,不包括对角线全部为Constant
稀疏矩阵
就是数据较少的矩阵,用三元组、十字链表
广义表:每一个元素可以是原子,也可以是一个广义表(递归)
Ls = (a1,a2,……,an)
表头:若Ls非空,则第一个元素就是表头(可以是原子或广义表)
表尾:除了表头之外的其他元素组成的表表表表表
长度:最外层所包含的元素个数
深度:站卡课后所含的括号重数(原子0,空表1)