数组与广义表

本文探讨了数组的定义和顺序表示,包括一维数组的两种存储映射方式,以及数组随机访问的计算方法。此外,还介绍了稀疏矩阵的压缩存储,如三元组顺序表和十字链表,并分析了转置矩阵的不同算法。最后,概述了广义表作为多层次线性结构的特点,包括广义表的深度和长度定义。
摘要由CSDN通过智能技术生成

一、数组

数组的定义

1、数组是一组有固定个数的数据元素的集合,这使得对数组的操作不再像线性表那样可以在表中任意合法的位置上插入或删除一个元素。
2、对数组的操作一般只有两类:获取或修改特定位置元素的值。广义表、普通数组的各项操作都不会引起元素的插入或删除,因此,数组可看作普通线性表的推广,数组常采用顺序存储结构。


数组的顺序表示和实现

(一)类型特点
1、数组是多维的结构,而存储空间是一个一维的结构。
2、只有引用型操作,没有加工型操作。


(二)对于一维数组,有两种顺序映象的方式
1、以行序为主序(低下标优先)

具体实现时,按行号从小到大的顺序,先将第一行中元素全部存放好,再存放第二行元素,第三行元素,依次类推 ……

2、以列序为主序(高下标优先)

谁变的慢即以谁为主序


(三)以行序为主序的存储映像

二维数组A中任一元素ai,j 的存储位置LOC(i,j) = LOC(0,0) + (i×b2+j)×L,其中b2:每一行的元素,L:每一个所占空间的大小。


(四)数组随机访问计算方法
1、初始地址为LOC(0,0,…,0);

2、b

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值