数据结构与算法(Python)[一看就会] 01-1 线性表-顺序表定义

线性表的顺序表示

线性表的顺序表示又称为顺序存储结构或顺序映像。

顺序存储定义
把逻辑上相邻的数据元素存储在物理上相邻的存储单元中的存储结构。
特点:逻辑上相邻的元素,物理上也相邻。
顺序存储方法:用一组地址连续的存储单元依次存储线性表的元素。
利用数组V[n]来实现

注意:在语言中数组的下标是从0开始,即:V[n]的有效范围是从 V[0]~V[n-1]

线性表顺序存储特点:

  1. 逻辑上相邻的数据元素,其物理上也相邻;

  2. 若已知表中首元素在存储器中的位置,则其他元素存放位置亦可求出(利用数组V[n]的下标)。

    设首元素a1的存放地址为LOC(a1)(称为首地址),
    设每个元素占用存储空间(地址长度)为L字节,
    则表中任一数据元素的存放地址为:
    LOC ( ai+1 ) = LOC( ai ) + L
    LOC ( ai ) = LOC( a1 ) + L *(i -1)

线性表的顺序存储结构示意图
在这里插入图片描述
访问指定元素时无需从头遍历,通过计算便可获得对应地址,其时间复杂度为O(1)

在这里插入图片描述

如果元素的大小不统一,则须采用图b的元素外置的形式,将实际数据元素另行存储,而顺序表中各单元位置保存对应元素的地址信息(即链接)。由于每个链接所需的存储量相同,通过上述公式,可以计算出元素链接的存储位置,而后顺着链接找到实际存储的数据元素。注意,上图中的c不再是数据元素的大小,而是存储一个链接地址所需的存储量,这个量通常很小。
上图这样的顺序表也被称为对实际数据的索引,这是最简单的索引结构。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值