数据结构:数组与广义表的存储解析

需积分: 0 1 下载量 24 浏览量 更新于2024-09-11 收藏 46KB DOC 举报
"数组和广义表是数据结构中的基本概念,主要涉及如何高效地存储和访问多维数据。在数组中,数据是以固定大小的元素集合存储的,每个元素都有一个唯一的索引,通常以行或列优先的方式组织。而在广义表中,数据可以是更复杂的数据结构,如链表或其他列表的组合,提供了更灵活的表示方法。本资料可能包含与数组和广义表相关的选择题,旨在帮助学习数据结构的学生理解和掌握这些概念。" 在数组和广义表的知识点中: 1. 对于压缩存储的对称矩阵,由于是对称的,只需要存储下三角或上三角部分,题目中提到10阶对称矩阵,a11是第一元素,存储地址为1,根据对称矩阵的性质,a85的地址可以通过计算得出。例如,如果以行为主存储,a85在矩阵中的位置为(8,5),位于下三角,因此可以直接对应到压缩存储后的顺序。 2. 数组A[i, j]的存储方式有两种:行主序和列主序。在列主序存储时,A[5, 8]的位置可以通过计算得到,考虑到每个元素占3字节,可以计算出其相对于数组起始地址的偏移量。 3. 对于二维数组A[1..100, 1..100],行序为主序存储时,LOC[5, 5]的计算基于数组元素的位置和每个数据元素的大小。对于二维数组,可以通过公式(i-1) * 行长度 + (j-1) * 单个元素大小找到元素地址。 4. 数组A[0..5, 0..6]按列优先存储时,A[5, 5]的地址可以通过计算元素在压缩存储序列中的位置来获得,考虑每个元素的大小以及之前元素的存储情况。 5. 三对角矩阵在一维数组中的存储方式通常从对角线开始,然后按行或列顺序存储。A[66, 65]在B数组中的位置K可以通过计算对角线元素的位置和非对角线元素的添加来确定。 6. 二维数组A按行存储和按列存储时,元素的起始地址会有所不同。题目中提到A[8, 5]的起始地址与按列存储时某个元素相同,比较各个选项,找出符合条件的元素。 7. n阶对称矩阵以行序为主序方式存储下三角元素到一维数组B中,aij(i < j)的位置k可以用一个数学公式表示,通常这个公式涉及i和j的乘积和加法。 8. 对于对称矩阵A,当其对角线及对角线上方的元素以列为主的次序存放在一维数组B中,元素aij(1≤i,j≤n,且i≤j)的位置可以用一个类似但稍有不同的公式来确定。 9. A[N, N]是对称矩阵,将下三角元素按列主序存储时,元素aij(1≤i,j≤n,且i≤j)的位置可以通过特定的数学公式计算得出。 这些选择题涵盖了数组和广义表的基本概念,如存储方式、地址计算、矩阵压缩存储以及不同存储顺序下的元素定位,这些都是数据结构中基础且重要的知识点。通过解答这些问题,学生可以加深对数组和广义表的理解,并掌握它们在实际应用中的处理方法。