1.线性表是(A)。
A.一个有限序列,可以为空
B.一个有限序列,不能为空
C.一个无限序列,可以为空
D.一个无限序列,不能为空
2.顺序表便于(D)。
A.插入结点
B.按值查找结点
C.删除结点
D.按序号查找结点
3.已知一个顺序存储的线性表,设每个结点占m个存储单元,若第一个结点的地址为B,则第i个结点的地址为(A)。
A.B+(i-1)*m
B.B+i*m
C.B-i*m
D.B+(i+1)*m
4.下面关于线性表的叙述中,错误的是(D)。
A.顺序表必须占一片地址连续的存储单元
B.顺序表可以随机存取任一元素
C.链表不必占用一片地址连续的存储单元
D.链表可以随机存取任一元素
5.在有n个结点的顺序表上做插入、删除结点运算的时间复杂度为(B)。
A.O(1)
B.O(n)
C.O(n2)
D.O(log2n)
6.设a、b、c为3个结点,p、10、20分别代表它们的地址,则如下的存储结构称为(B)。
A.循环链表
B.单向链表
C.双向循环链表
D.双向链表
7.在具有n个结点的单向链表中,实现(A)的操作,其算法的时间复杂度是O(n)。
A.遍历链表或求链表的第i个结点
B.在地址为P的结点之后插入一个结点
C.删除开始结点
D.删除地址为P的结点的后继结点
8.单向链表的存储密度(C)。
A.大于1
B.等于1
C.小于1
D.不能确定
9.L是线性表,已知LngthList(L)的值是5,经DlList(L,2)运算后,LngthList(L)的值是(C)。
A.2
B.3
C.4
D.5
10.设front、rar分别为循环双向链表结点的左指针和右指针,则指针P所指的元素是双循环链表L的尾元素的条件是(D)。
A.P==L
B.P-front==L
C.P==NULL
D.P-rar==L
11.两个指针P和Q,分别指向单向链表的两个元素,P所指元素是Q所指元素前驱的条件是(B)。
A.P-nxt==Q-nxt
B.P-nxt==Q
C.Q-nxt==P
D.P==Q
12.在一个单向链表中,已知Q所指的结点是P所指结点的前驱结点,若在Q和P之间插入S结点,执行(C)操作。
A.S-nxt=P-nxt;P-nxt=S;
B.P-nxt=S-nxt;S-nxt=P;
C.Q-nxt==S;S-nxt=P;
D.P-nxt=S;S-nxt=Q;
13.单向链表的示意图如下:
指向链表B结点的前驱的指针是(B)。
A.L
B.P
C.Q
D.R
14.设p为指向单循环链表上某结点的指针,则*p的直接前驱(C)。
A.找不到
B.查找时间复杂度为O(1)
C.查找时间复杂度为O(n)
D.查找结点的次数约为n
15.已知单链表A的长度为m,B的长度为n,若将B链接到A的末尾,在没有链尾指针的情况下,算法的时间复杂度应为(B)。
A.O(1)
B.O(m)
C.O(n)
D.O(m+n)
16.等概率情况下,在有n个结点的顺序表上做插入结点运算,需平均移动结点的数目为(C)。
A.n
B.(n-1)/2
C.n/2
D.(n+1)/2
17.在下列链表中不能从当前结点出发访问到其余各结点的是(C)。
A.双向链表
B.单循环链表
C.单向链表
D.双向循环链表
18.在顺序表中,只要知道(D),就可以求出任一结点的存储地址。
A.基地址
B.结点大小
C.向量大小
D.基地址和结点大小
19.以下关于线性表的论述,不正确的为(C)。
A.线性表中的元素可以是数字、字符、记录等不同数据类型
B.线性顺序表中包含的元素个数不是任意的
C.线性表中的每个结点都有且仅有一个直接前驱和一个直接后继
D.存在这样的线性表,即表中没有任何结点
20.设带头结点的单循环链表的头指针为had,指针变量P指向尾结点的条件是(B)
A.P-nxt-nxt==had
B.P-nxt==had
C.P-nxt-nxt==NULL
D.P-nxt==NULL
题目来源:《实用数据结构基础》第四版
jsr扫一扫下载订阅号助手,用手机发文章赞赏