展馆网站建设方案,织梦模板免费,亚马逊排名seo,怎么做论坛网站数组#xff1a;一组地址连续的空间。 数组是定长线性表在维数上的扩展#xff0c;即#xff0c;线性表中的元素又是一个线性表。 一、数组
数组的特点#xff1a;
数组数目固定#xff0c;一旦定义了数组结构#xff0c;不再有元素个数的增减变化。因此#xff0c;数… 数组一组地址连续的空间。 数组是定长线性表在维数上的扩展即线性表中的元素又是一个线性表。 一、数组
数组的特点
数组数目固定一旦定义了数组结构不再有元素个数的增减变化。因此数组一般不做插入、删除操作适合用于顺序存储结构。
1-1、一维数组 L元素大小LOC元素首地址
数组从0开始
ai的地址 LOC (i)*L ai的前面有i个元素 数组从1开始
ai的地址 LOC (i-1)*L ai的前面有i-1个元素 1-2、二维数组 a[N][M]N行、M列 L元素大小 在内存中存储如下
1、a[N][M]按行优先存储 求a[i][j]的首地址 ① 数组下标从0开始a[0][0] 先求出 a[i][j]前面有多少行i行 再求出 a[i][j]前面有多少列j列 a[i][j] LOC (i * M j) * L ②数组下标从1开始a[1][1] a[i][j] LOC [(i-1) * M (j-1)] * L 2、a[N][M]按列优先存储 求a[i][j]的首地址 ① 数组下标从0开始a[0][0] 先求出 a[i][j]前面有多少列j列 再求出 a[i][j]前面有多少行i行 a[i][j] LOC (j * N i) * L ① 数组下标从1开始a[1][1] a[i][j] LOC [(j-1) * M (i-1)] * L 3、特殊情况a[N][N]
对于N行N列数组
求a[i][i]时不管是按行存储还是按列存储其存储的首地址和该元素前面的元素个数都是相同的。
示例 1-3、真题
真题1 真题2
真题3 二、矩阵 一个二维数组就是一个矩阵。 矩阵的存储即将一个二维数组的元素压缩存储在一个一维数组中。 矩阵的压缩存储 多个值相同的元素分配一个存储单元0不分配存储单元。 2-1、特殊矩阵
值相同的元素、0元素在矩阵中有一定的规律——特殊矩阵 2-1-1、对称矩阵 Aij Aji 示例 对称矩阵的存储只存储主对角线的元素 下三角区上三角区的元素 存储的元素个数(1n)n/2
对称矩阵按行优先存储 期望通过A22——a6
求Aij
1、数组下表从0开始 ①前i-1行有多少个元素i*(1i)/2
②第i行前j-1列有几个元素j
③再加上自己 Aij i*(1i)/2 j 1当i j Aij j*(1j)/2 i 1当i j 2、下标从1开始 2-1-2、三对角矩阵 三对角矩阵的存储
只存储对角线上的非0元素。 期望通过A33——a10
求Aij 2-2、稀疏矩阵
矩阵中非0元素的个数远少于0元素的个数非0元素分布没有规律。
示例 稀疏矩阵的压缩存储
三元组顺序表顺序存储十字链表链式存储 2-2-3、三元组顺序表 2-2-4、十字链表 2-3、真题
真题1 真题2 真题3 真题4 真题5 真题6 真题7