数组
线性表的一种推广,由相同类型的数据元素组成,存储在一组连续的存储单元中。
一维数组又称向量,二维数组可以称,m个行向量或n个列向量。
基本运算:
读——>给定一组下标,返回该位置的元素内容。
写——>给定一组下标,修改该位置的元素内瓤
————————————————————————————————————
存储结构:
一维:内存单元地址是连续的。
二维,以列序为主序,或以行序为主序(类C语言的编译程序是该存储方法)
矩阵的压缩存储
特殊矩阵:值相同的元素或者零元素在矩阵中的分布由一定规律。
1.对称矩阵:
= i>=0,j<=n-1
存储方式:有近一半的元素可以通过其对称元素获得,为每一对对称元素只分配一个存储单元。个元素存储到含有个元素的 一维数组中。
矩阵元素在数组M中的位置为k,(i,j)和K存在如下对应关系:k的范围(0~ - 1))
| 当i>=j时 | 当i<j时 |
|---|---|
| k= +j | k= + i |
任意的给定的一组下标(i,j)均可在M中找到矩阵元素 ,反之亦然。
2.三角矩阵:
以主对角线为界的上(下)半部分是一个固定的值C或者零,也称下(上)三角矩阵。
存储方式:采用数组M[n(n+1)/2],把矩阵中上(下)三角部分的个元素存储在M[0]~M[ - 1]的个单元中。
M[K]和的对应关系:
上三角:前i行的元素个数为 =(2n-i+1)
| 当i<=j | 当i>j |
|---|---|
| k = + j - i | k = |
下三角:
| 当i>=j | 当i<j |
|---|---|
| k = + j | k = |
3.稀疏矩阵:
假设m行n列矩阵中有t个非零元素,当t远远小于m*n,即为稀疏矩阵。
存储方式:三元组结点(行号,列号,非零元素)。
来源:CSDN
作者:Dionysus1994
链接:https://blog.csdn.net/oEscheat/article/details/103614977