基本概念题: 5-1分别写出一维数组和二维数组的存储映象公式。 -2什么叫二维数组的行序优先存储?什么叫二维数组的列序优先存储?C语言采用的 是行序优先存储还是列序优先存储? 5-3什么叫随机存储结构?为什么说数组是一种随机存储结构? 5-4动态数组和静态数组在使用方法上有什么不同? 5-5什么样的矩阵叫特殊矩阵?特殊矩阵压缩存储的基本思想是什么? 5-6什么样的矩阵叫稀疏矩阵?稀疏矩阵压缩存储的基本思想是什么? 5-7什么叫稀疏矩阵的三元组?什么叫稀疏矩阵的三元组线性表? 5-8稀疏矩阵主要有哪些压缩存储结构? 复杂概念题 5-9设一个系统中二维数组采用以行序为主的存储方式存储,已知二维数组a[n][m]中 每个数据元素占k个存储单元,且第一个数据元素的存储地址是Loc(a[0][0]),求数据元 素a[i][j(0≤i≤n-1,0≤j≤m1)的存储地址 5-10设一个系统中二维数组采用以行序为主的存储方式存储,已知二维数组a[10J8]中 每个数据元素占4个存储单元,且第一个数据元素的存储地址是1000求数据元素a[45] 的存储地址。 5-11画出一个3行3列二维动态数组存储结构示意图 5-12对于如下所示的稀疏矩阵A 0000050 0009000 0000000 A=00190000 0000000 022000330 0000000 (1)写出该稀疏矩阵的三元组线性表 (2)画出稀疏矩阵A的三元组顺序表结构; (3)画出稀疏矩阵A的带头结点单链表结构 (4)画出稀疏矩阵A的行指针数组链表结构 (5)画出稀疏矩阵A的三元组十字链表结构。 算法设计题 5-13为节省内存,n阶对称矩阵采用压缩存储,要求 (1)编写实现C=A+B操作的函数。设矩阵A、矩阵B和矩阵C均采用压缩存储方 式存储,矩阵元素均为整数类型 (2)编写一个采用压缩存储的n阶对称矩阵的输出函数,要求输出显示成矩阵形式, 设矩阵元素均为整数类型 (3)设矩阵A和矩阵B为如下所示的矩阵,编写一个用矩阵A和矩阵B作为测试例子 的测试上述函数的主程序
基本概念题: 5-1 分别写出一维数组和二维数组的存储映象公式。 5-2 什么叫二维数组的行序优先存储?什么叫二维数组的列序优先存储?C 语言采用的 是行序优先存储还是列序优先存储? 5-3 什么叫随机存储结构?为什么说数组是一种随机存储结构? 5-4 动态数组和静态数组在使用方法上有什么不同? 5-5 什么样的矩阵叫特殊矩阵?特殊矩阵压缩存储的基本思想是什么? 5-6 什么样的矩阵叫稀疏矩阵?稀疏矩阵压缩存储的基本思想是什么? 5-7 什么叫稀疏矩阵的三元组?什么叫稀疏矩阵的三元组线性表? 5-8 稀疏矩阵主要有哪些压缩存储结构? 复杂概念题: 5-9 设一个系统中二维数组采用以行序为主的存储方式存储,已知二维数组 a[n][m]中 每个数据元素占 k 个存储单元,且第一个数据元素的存储地址是 Loc(a[0][0]),求数据元 素 a[i][j](0≤i≤n-1, 0≤j≤m-1)的存储地址。 5-10 设一个系统中二维数组采用以行序为主的存储方式存储,已知二维数组 a[10][8]中 每个数据元素占 4 个存储单元,且第一个数据元素的存储地址是 1000,求数据元素 a[4][5] 的存储地址。 5-11 画出一个 3 行 3 列二维动态数组存储结构示意图。 5-12 对于如下所示的稀疏矩阵 A (1)写出该稀疏矩阵的三元组线性表; (2)画出稀疏矩阵 A 的三元组顺序表结构; (3)画出稀疏矩阵 A 的带头结点单链表结构; (4)画出稀疏矩阵 A 的行指针数组链表结构; (5)画出稀疏矩阵 A 的三元组十字链表结构。 算法设计题: 5-13 为节省内存,n 阶对称矩阵采用压缩存储,要求: (1)编写实现 C = A + B 操作的函数。设矩阵 A、矩阵 B 和矩阵 C 均采用压缩存储方 式存储,矩阵元素均为整数类型。 (2)编写一个采用压缩存储的 n 阶对称矩阵的输出函数,要求输出显示成矩阵形式, 设矩阵元素均为整数类型。 (3)设矩阵 A 和矩阵 B 为如下所示的矩阵,编写一个用矩阵 A 和矩阵 B 作为测试例子 的测试上述函数的主程序。 = 0 0 0 0 0 0 0 0 22 0 0 0 33 0 0 0 0 0 0 0 0 0 0 19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 5 0 A
A=245 B=204050 5-14试编写实现C=A×B操作的函数。设矩阵A、矩阵B和矩阵C均采用压缩存储 方式存储,矩阵元素均为整数类型。 5-15利用例5-2实现的申请二维动态数组函数和释放二维动态数组函数,编写存储习 题5-12矩阵A的数据元素并显示这些元素数值的主函数 *5-16设稀疏矩阵采用三元组顺序表存储结构,编写实现稀疏矩阵的相加运算C=A+B 的函数。已知矩阵A和B的三元组顺序表中的非零元三元组的排列次序是先按行下标再按 列下标排列。要求矩阵C的三元组顺序表中的非零元三元组的排列次序也是先按行下标再 按列下标排列。 *5-17若将稀疏矩阵中的非零元素以行序为主序的顺序存于一个一维数组中,并用一个 二维数组表示稀疏矩阵中的相应元素是否是零元素,若稀疏矩阵中某元素是零元素,则该二 维数组中对应位置的元素为0;否则为1。例如对稀疏矩阵A, 100020 A=00300 40000 可用一维数组V={10,20,30,40}和二维数组 B={0010 1000 表示该稀疏矩阵。试编写函数,实现使用上述稀疏矩阵存储结构的矩阵加运算Ⅹ=Ⅹ+Y 上机实习题: 5-18设矩阵A、矩阵B和矩阵C为采用压缩存储方式存储的n阶上三角矩阵,矩阵元素 为整数类型,要求: (1)编写实现矩阵加C=A+B的函数 (2)编写实现矩阵乘C=A×B的函数 (3)以下面的数据为测试例子,编写一个主程序进行测试
= = 30 50 60 20 40 50 10 20 30 3 5 6 2 4 5 1 2 3 A B 5-14 试编写实现 C = A × B 操作的函数。设矩阵 A、矩阵 B 和矩阵 C 均采用压缩存储 方式存储,矩阵元素均为整数类型。 5-15 利用例 5-2 实现的申请二维动态数组函数和释放二维动态数组函数,编写存储习 题 5-12 矩阵 A 的数据元素并显示这些元素数值的主函数。 *5-16 设稀疏矩阵采用三元组顺序表存储结构,编写实现稀疏矩阵的相加运算 C = A + B 的函数。已知矩阵 A 和 B 的三元组顺序表中的非零元三元组的排列次序是先按行下标再按 列下标排列。要求矩阵 C 的三元组顺序表中的非零元三元组的排列次序也是先按行下标再 按列下标排列。 *5-17 若将稀疏矩阵中的非零元素以行序为主序的顺序存于一个一维数组中,并用一个 二维数组表示稀疏矩阵中的相应元素是否是零元素,若稀疏矩阵中某元素是零元素,则该二 维数组中对应位置的元素为 0;否则为 1。例如对稀疏矩阵 A, 可用一维数组 V={10,20,30,40}和二维数组 = 1 0 0 0 0 0 1 0 1 0 0 1 B 表示该稀疏矩阵。试编写函数,实现使用上述稀疏矩阵存储结构的矩阵加运算 X=X+Y。 上机实习题: 5-18 设矩阵 A、矩阵 B 和矩阵 C 为采用压缩存储方式存储的 n 阶上三角矩阵,矩阵元素 为整数类型,要求: (1)编写实现矩阵加 C = A + B 的函数。 (2)编写实现矩阵乘 C = A × B 的函数。 (3)以下面的数据为测试例子,编写一个主程序进行测试。 = 40 0 0 0 0 0 30 0 10 0 0 20 A