单选题
33.若线性表最常用的运算是查找第i个元素及其前驱的值,则下列存储方式中最节省时间的是( )。
【正确答案】
D
【答案解析】本题的考点是线性表的存储结构及其特点。在线性表中主要的存储结构有顺序表和链表两种,其特点如下:
(1)顺序表可以实现随机存取,其时间复杂度为O(1)。但在顺序表中,进行插入和删除操作需要移动大量的元素,其时间复杂度为O(n);
(2)链表中只能实现顺序查找,其时间复杂度为O(n)。但链表中进行插入和删除操作不需要移动元素,只需要修改指针,其时间复杂度为O(1)。
本题中,线性表中常用的操作是取第i个元素,所以应选择随机存取结构,即顺序表;同时在顺序表中查找第i个元素的前驱也很方便。单链表和单循环链表既不能实现随机存取,查找第i个元素的前驱也不方便;双链表虽然能快速查找第i个元素的前驱,但不能实现随机存取。