1.数组

数组是定长线性表在维数上的扩张,即线性表中的元素又是一个线性表。

1.1 数组的存储地址

一维数组a[n],a[i]的存储地址为:a+ilen
  二维数组a[m][n],a[i][j]按行存储:a+(i
n+j)len
  二维数组a[m][n],a[i][j]按列存储:a+(j
m+i)len
  **例:**已知5行5列的二维数组a中的各元素占两个字节,元素a[2][3]按行有限存储的存储地址为:a+(2
5+3)*2

2.矩阵

2.1稀疏矩阵

稀疏矩阵:一个矩阵中大量的元素为0,只需存储数组的一部分内容即可完成对整个数组的存储。
  计算某元素对应一维数组的下标:
【软考】【数据结构】数组、矩阵和广义表
  上三角矩阵(2n-i+1)*i/2+j
  下三角矩阵(i+1)*i/2+j
  应考技巧:特殊值代入法
【软考】【数据结构】数组、矩阵和广义表
i=0,j=0时M=1,i=1,j=1时M=3所以选A

3.广义表

广义表是线性表的推广,是n个表元素组成的有限序列
LS1 = (a,(b,c),(d,e))
长度:广义表包含元素的个数,长度为3
深度:广义表的嵌套层数,深度为2
取表头运算:最外层的第一个表元素head(LS1) = a
取表尾运算:除了表头以外的其他所有元素组成的广义表tail(LS1)= ((b,c),(d,e))
取字母操作:将b取出,head(head(tail(LS1)))

相关文章: