数据结构之线性表(三)——顺序存储结构(1 定义与特点)

顺序存储结构定义与特点

  • 定义
    把逻辑上相邻的数据元素存储在物理上相邻的存储单元中的存储结构。
    数据结构之线性表(三)——顺序存储结构(1 定义与特点)_第1张图片
    基地址(首地址,起始位置):线性表的第1个数据元素 a 1 a_1 a1的存储位置。

  • 特点

地址连续
例如,
数据结构之线性表(三)——顺序存储结构(1 定义与特点)_第2张图片
线性表顺序存储结构占用一片连续的存储空间,知道某个元素的存储位置就可以计算其他元素的存储位置。

假设线性表的每个元素需占 l l l个存储单元,则有如下两个公式:
L O C ( a i + 1 ) = L O C ( a i ) + l LOC(a_{i+1})=LOC(a_i)+l LOC(ai+1)=LOC(ai)+l
L O C ( a i ) = L O C ( a 1 ) + ( i − 1 ) ∗ l LOC(a_i)=LOC(a_1)+(i-1)*l LOC(ai)=LOC(a1)+(i1)l
上述计算存储结构的时间复杂度为 O ( 1 ) O(1) O(1)
数据结构之线性表(三)——顺序存储结构(1 定义与特点)_第3张图片
两大特点:

  • 以物理位置相邻表示逻辑关系
  • 任一元素均可随机存取
C语言描述—数组

顺 序 表 ( 元 素 ) { 地 址 连 续 依 次 存 放 随 机 存 取 类 型 相 同 ⇒ 用 一 维 数 组 表 示 顺 序 表 顺序表(元素)\begin{cases} 地址连续\\ 依次存放 \\ 随机存取\\ 类型相同\\ \end{cases} \Rightarrow 用一维数组表示顺序表 ()
但在C语言中数组的长度不可动态定义,而线性表的表长是可变的(插入、删除等操作)。
数据结构之线性表(三)——顺序存储结构(1 定义与特点)_第4张图片
所以,用一变量表示顺序表的长度属性
数据结构之线性表(三)——顺序存储结构(1 定义与特点)_第5张图片
这里用一个数组和一个长度值定义一个顺序表。
例子,

  • 多项式
    数据结构之线性表(三)——顺序存储结构(1 定义与特点)_第6张图片
  • 图书表
    数据结构之线性表(三)——顺序存储结构(1 定义与特点)_第7张图片

你可能感兴趣的:(数据结构)