day5, 2021 年 12 月 21 日,周二。

题目

在等概率情况下,顺序表的插入操作要移动__结点。
1. 全部
2. 一半
3. 三分之一
4. 四分之一

每日一题 day5.001.png

解析

什么是顺序表?

顺序表(顺序存储结构)及初始化过程详解:http://data.biancheng.net/view/158.html

顺序表,全名顺序存储结构,是线性表的一种。通过《线性表》一节的学习我们知道,线性表用于存储逻辑关系为“一对一”的数据,顺序表自然也不例外。

不仅如此,顺序表对数据的物理存储结构也有要求。顺序表存储数据时,会提前申请一整块足够大小的物理空间,然后将数据依次存储起来,存储时做到数据元素之间不留一丝缝隙。

例如,使用顺序表存储集合 {1,2,3,4,5},数据最终的存储状态如 1 所示:

day5. 顺序表 - 图2
图 1 顺序存储结构示意图

由此我们可以得出,将“具有 ‘一对一’ 逻辑关系的数据按照次序连续存储到一整块物理空间上”的存储结构就是顺序存储结构。

通过观察图 1 中数据的存储状态,我们可以发现,顺序表存储数据同数组非常接近。其实,顺序表存储数据使用的就是数组。

顺序表的插入

在尾部插入元素的不需要移动元素;
在头部插入元素需要移动 N 个元素;
平均需要移动 N / 2 个元素;。