2、数组和广义表(1)


一、数组

1、数组的定义

数组可以看成线性表的推广,其特点是结构中的元素本身可以具有某种结构的数据,且属于同一类型数据。

2、数组的顺序存储

由于数组不做插入、删除,一般采用顺序存储结构。

一维数组

二维数组

 二维数组的行列优先表示:

 注意开始位置为(0,0)。

n维数组:

 3、关于二维数组的练习题

1、设有二维数组A【10】【20】,其每个元素占两个字节,A【0】【0】存储地址为100,若按行优先顺序存储,则元素A【6】【6】的存储地址为:352      ;若按列优先顺序存储,则元素A【6】【6】的存储地址为:  232

(6*20+6)*2+100=352;

(6*10+6)*2+100=232;

2、

二、矩阵的压缩存储

1、什么是压缩矩阵

若多个数据元素的值都相同,则只分配一个元素值的存储空间,且零元素不占存储空间。

2、什么样的矩阵能够压缩

一些特殊的矩阵,如:对称矩阵、三角矩阵、对角矩阵,及稀疏矩阵(矩阵中非零的个数较少,一般小于5%等)。

3、特殊矩阵的压缩存储

3.1对称矩阵


3.2三角矩阵和对角矩阵



 4、稀疏矩阵的压缩存储

4.1稀疏矩阵的定义 

 稀疏矩阵的三元组线性表表示:

 稀疏矩阵若用二维数组存储太浪费空间。

一般只考虑存储非零元素,每个非零元素可由行、列、值三元组(i,j,aij)表示,三元组按行号为主序排列,构成一个表示稀疏矩阵的三元组线性表

 


 4.2稀疏矩阵的存储结构及运算

1、顺序存储---三元组顺序表

 

 这里数组的指针从0开始, 而不是1; (由于不同教材的规范不同,偶尔有从1开始的情况)

 

 

 

 

2、顺序存储---行逻辑连接的顺序表

 

 

 3、连接存储---带行指针向量的链接存储

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冰枫、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值