三元组顺序表不是顺序存储结构吗?那为什么不满足顺序存储结构的随机存取呀,行列数值信息不是都顺序排列在三元组里面吗,那三元组顺序表为什么不能随机存取
4条回答 默认 最新
- 开发技术控 2023-05-25 17:52关注
该回答引用ChatGPT
三元组顺序表本质上是一种顺序存储结构,它的三元组数据是顺序排列的。但是,它不能支持随机存取的主要原因是:
三元组顺序表存储的是行列值信息,而不是直接存储矩阵元素。也就是说,它存储的不是a[i][j]这个元素的值,而是记录(i, j, a[i][j])这个三元组。
所以,如果要访问a[i][j]这个元素,我们需要先找到包含这个元素信息的三元组(i, j, a[i][j])。但是三元组是顺序排列的,我们无法通过i和j直接定位到对应的三元组。这就导致无法实现随机存取。
反观标准的二维数组,它是按行序分配内存的,所以如果知道i和j就可以直接定位到a[i][j],实现随机存取。
举个例子更易理解:
三元组顺序表:
(0, 0, 1) (0, 1, 2) (1, 0, 3) (1, 1, 4)
要访问a[1][1],我们首先要找到三元组(1, 1, 4),这需要顺序查找,不能随机定位。
标准二维数组:
a[0][0] a[0][1]
a[1][0] a[1][1]
我们知道a[1][1]的位置,可以直接访问,实现随机存取。
所以,综上可知:
三元组顺序表之所以不能随机存取,是因为它存储的不是矩阵元素的值,而是记录矩阵元素的三元组信息。我们无法通过行列索引i和j直接确定三元组的位置。
而标准二维数组之所以支持随机存取,是因为它直接存储矩阵元素,我们可以通过i和j直接定位到元素位置解决 无用评论 打赏 举报
悬赏问题
- ¥15 找一个网络防御专家,外包的
- ¥100 能不能让两张不同的图片md5值一样,(有尝)
- ¥15 informer代码训练自己的数据集,改参数怎么改
- ¥15 请看一下,学校实验要求,我需要具体代码
- ¥50 pc微信3.6.0.18不能登陆 有偿解决问题
- ¥20 MATLAB绘制两隐函数曲面的交线
- ¥15 求TYPCE母转母转接头24PIN线路板图
- ¥100 国外网络搭建,有偿交流
- ¥15 高价求中通快递查询接口
- ¥15 解决一个加好友限制问题 或者有好的方案