数据结构05

数组与矩阵:
数组:存储空间连接的表结构。
矩阵:带二维信息的数据,一般使用二维数据来存储矩阵。
特殊矩阵:
上三角形矩阵:
[0][1][3][6]
[ ][2][4][7]
[ ][ ][5][8]
[ ][ ][ ][9]
压缩方法:用一维数组进行存储
数组的长度:(n+1)*n/2
对应关系:(j+1)*j/2+i
i和j要满足:i<=j

下三角形矩阵
[0][ ][ ][ ]
[1][2][ ][ ]
[3][4][5][ ]
[6][7][8][9]
压缩方法:用一维数组进行存储
数组的长度:(n+1)*n/2,
对应关系:(i+1)*i/2+j。
i和j要满足:j<=i

对称矩阵:沿着0,0 1,1 2,2 .. i,j 对称。
[0][1][3][6]
[1][2][4][7]
[3][4][5][8]
[6][7][8][9]
压缩方法:用一维数组进行存储,把它当作上三角或下三角即可。
数组的长度:(n+1)*n/2,
对应关系:(i+1)*i/2+j。
i和j要满足:如果j>i时候,交换它们的值。

对角矩阵:沿着0,0 1,1 2,2 .. i,j 对角线的两边有数据。
[0][1][ ][ ]
[2][3][4][ ]
[ ][5][6][7]
[ ][ ][8][9]
压缩方法:用一维数组进行存储
数组的长度:3*n-2,
对应关系:2*i+j
i和j要满足:abs(i-j) <= 1

稀疏矩阵:有效的信息不多,绝大多数都是无效信息都不需要存储,没有特定的标准,全凭感觉。
这些矩阵如果使用二维数组来存储的话,会非常浪费存储空间,为了节约空间,我们可以对这些矩阵进行压缩。
压缩方法:使用三元组进行压缩。
三元组:有三个数据项:行,列,值 构成一个整体,可顺序存储也可链式存储。
注意:稀疏矩阵压缩后就丢失的随机访问的功能。

课外作业:
矩阵的运算。
矩阵 + - * / n。
矩阵 + - * / 矩阵。
下周预告:
树:
普通树
二叉树
平衡二叉
完全叉树
有序二叉树
图:
有向图
无向图
图的存储
深度优先遍历
广度优先遍历
最短路径
算法:
查找
排序
子串查找
动态规划
时间复杂度

 

posted @ 2020-08-19 21:25  斯立扑  阅读(77)  评论(0)    收藏  举报