数组
概念如下
数组可以看成线性表的一种推广,其实就是一种线性表,
一维数组
又称为向量
数据由一组具有相同类型的数据元素组成,并存储在一组连续的存储单元中
若一维数组中的数据元素又是一维数组结构,则称为二维数组
依次类推,可以得到三维数组
和多维数组
数组基本运算
数组通常只有两种基本运算
- 读:给定一组下标,返回该位置的元素内容
- 写:给定一组下标,修改该位置的元素内容
数组的存储结构
一维数组元素的内存单元地址是连续的
二维数组可有两种存储方法:一种是以列序
为主序的存储;另一种是以行序
为主序的存储。
C语言中,数组采用的是以行序为主序的存储
矩阵的压缩存储(重点)
在数值分析中,经常出现一些高阶矩阵,这些高阶矩阵中有许多值相同的元素或零元素,为了节省存储空间,对这类矩阵采用多个值相同的元素只分配一个存储空间,零元素不存储的策略,这个方法就是矩阵的压缩存储
特殊矩阵
教材中特殊矩阵主要涉及两种 对称矩阵
和 三角矩阵
这两部分都是概念性的问题,考试中属于占比非常小的一些考点,自行学习一下即可,重点看一下,下面的稀疏矩阵
稀疏矩阵
假设m行n列的矩阵有t个非0元素,当t<<m*n时,就叫做稀疏矩阵了
上图里面只有几个非0元素,所以就是一种稀疏矩阵
三元组表示法
稀疏矩阵一般采用三元组表示法,用三个项来表示稀疏矩阵中的非0元素aij,即(i,j,aij),其中i表示行序号,j表示列序号,aij是非0元素的值。
上面的稀疏矩阵如果用三元组表是,如下
((0,1,5),(2,1,-1),(2,3,7),(3,1,6),(4,4,9))
好了,上面就是一个非常重要的考点了,接下来弄几个自考真题练练吧
自考真题
第一题:已知一个7x6的稀疏矩阵如图所示,试写出该稀疏矩阵的三元组表示
答案:
((0,0,16),(0,5,-16),(1,2,3),(2,3,-8),(4,0,91),(6,2,15))
第二题:稀疏矩阵A如图所示,写出该稀疏矩阵A的三元组表示法
答案:
((0,2,5),(1,0,-1),(2,5,2),(3,4,8),(4,3,5),(5,1,7))
答题技巧
- 行,列序号都是从0开始的,别数差了
- 行号在前,列号在后
- 最外层还有一个大括号呢