Skip to content

2023年 408 数据结构 第 1 题

数据结构2023年选择题2分

题目

下列对顺序存储的有序表(长度为 )实现给定操作的算法中,平均时间复杂度为 的是( )。

错因

A

把"有序表"和""绑在一起,立刻想到二分查找。但二分查找的平均时间复杂度是 不是 ;而且题目问"包含指定值"的查找——顺序表里就算有序,要把"哪个位置存了这个值"找出来仍要做比较,无论顺序还是二分,都到不了

B

只看到"插入"就想到顺序表插入要移动元素,知道是 ,但读题不细——题目问的是 的操作,B 是 ,恰好是反例。"插入指定值元素"还要先找位置()再移动后继元素(),整体

C

同上。"删除第 个元素"要把第 到第 个元素整体前移一位,平均移动 个元素,是 ,不是 。删第 个不需要找位置(直接下标定位),但移动这一步绕不过去。

总解析

思路:顺序存储的最大优势是随机访问——给定下标 ,直接通过 a[i] = base + (i-1) * size 算出地址,一次访存就拿到值,与 无关。识别四个选项里哪个只用到这个能力即可。

逐项判断

选项操作关键步骤复杂度
A按值查找顺序比较或二分
B按值插入找位置 + 后续元素后移
C按位置删除下标定位()+ 后续元素前移(
D按位置取值下标定位

D 只做一次地址计算和一次访存,与表长无关;其它三个要么涉及比较(A)要么涉及移动(B、C),都到不了常数级。

最终答案是 D(获取第 个值的算法)

最后更新:

🎬 可视化演示
加载中...

提示:可在可视化区直接操作播放、步进、修改参数