wei592 2023-05-25 17:38 采纳率: 0%
浏览 65

三元组顺序表为什么不能随机存取

三元组顺序表不是顺序存储结构吗?那为什么不满足顺序存储结构的随机存取呀,行列数值信息不是都顺序排列在三元组里面吗,那三元组顺序表为什么不能随机存取

  • 写回答

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直接定位到元素位置

    评论

报告相同问题?

问题事件

  • 创建了问题 5月25日

悬赏问题

  • ¥15 找一个网络防御专家,外包的
  • ¥100 能不能让两张不同的图片md5值一样,(有尝)
  • ¥15 informer代码训练自己的数据集,改参数怎么改
  • ¥15 请看一下,学校实验要求,我需要具体代码
  • ¥50 pc微信3.6.0.18不能登陆 有偿解决问题
  • ¥20 MATLAB绘制两隐函数曲面的交线
  • ¥15 求TYPCE母转母转接头24PIN线路板图
  • ¥100 国外网络搭建,有偿交流
  • ¥15 高价求中通快递查询接口
  • ¥15 解决一个加好友限制问题 或者有好的方案