第二章线性表

线性表测试

1、单选题:
‌线性表中(    )称为线性表的长度。​
选项:
A: 元素的长度
B: 数据项的数目
C: 数据的长度
D: 元素的个数
答案: 【 元素的个数

2、单选题:
​在下列关于线性表的叙述中,错误的是()‌
选项:
A: 采用顺序存储的线性表,必须占用一片连续的存储单元
B: 采用顺序存储的线性表,便于进行插入和删除操作
C: 采用链式存储的线性表,不必占用一片连续的存储单元
D: 采用链式存储的线性表,便于进行插入和删除操作
答案: 【 采用顺序存储的线性表,便于进行插入和删除操作

3、单选题:
‍设顺序表的每个元素占8个存储单元。第1个单元的存储地址是100,则第6个元素占用的最后一个存储单元的地址为(    )​
选项:
A: 139
B: 140
C: 147
D: 148
答案: 【 147

4、单选题:
‌在一个表头指针为ph的单链表中,若要在指针q所指结点的后面插入一个由指针p所指向的结点,则执行(      )操作​
选项:
A: q->next=p->next; p->next=q; 
B: p->next=q->next; q=p;
C: q->next=p->next; p->next=q;
D: p->next=q->next; q->next=p;
答案: 【 p->next=q->next; q->next=p;

5、单选题:
‎设顺序表的长度为n,并设从表中删除元素的概率相等。则在平均情况下,从表中删除一个元素需移动的元素个数是(   )‍
选项:
A: (n-1)/2
B: n/2
C: n(n-1)/2
D: n(n+1)/2
答案: 【 (n-1)/2

6、单选题:
‌在线性链表存储结构下,插入操作算法(      )‏
选项:
A: 需要判断是否表满
B: 需要判断是否表空
C: 不需要判断表满
D: 需要判断是否表空和表满
答案: 【 不需要判断表满

7、单选题:
​若某链表最常用的操作是在最后一个结点之后插入一个元素和删除最后一个元素,则采用(       )存储方式最节省运算时间‎
选项:
A: 单链表
B: 双向链表
C: 单循环链表
D: 顺序表
答案: 【 顺序表

8、单选题:
‌设有一个二维数组A[m][n],假设A[0][0]存放位置在644,A[2][2]存放位置在676,每个元素占一个空间,问A[3][3]的存储位置是(      )‏
选项:
A: 688
B: 678
C: 692
D: 696
答案: 【 692

9、单选题:
‏已知两个长度分别为m和n的升序链表,若将它们合并为一个长度为m+n的降序链表,则最坏情况下的时间复杂度是(     )‎
选项:
A: ○(n)
B: ○(m*n) 
C: ○(min(m,n)) 
D: ○(max(m,n))
答案: 【 ○(max(m,n))

10、单选题:
​在一个长度为n的顺序存储结构的线性表中,向第i个元素(1≤i≤n+1)位置插入一个元素时,需要后移(       )个元素‏
选项:
A: n-i
B: n-i+l
C: n-i-l
D: i
答案: 【 n-i+l

11、单选题:
‍链表不具有的特点是(   )‎‍‎
选项:
A: 可随机访问任一元素
B: 插入删除元素时不需移动
C: 不必事先估计存储空间
D: 所需空间与表长成正比
答案: 【 可随机访问任一元素

12、单选题:
(    )是线性表。‎‌‎
选项:
A: (1,2,3,…)
B: {a,b,c,d,e}
C: (1,3,5,7)
D: {‘A’,’B’,’C’}
答案: 【 (1,3,5,7)

13、单选题:
​若某链表中最常用的操作是在最后一个结点之后插入一个结点和删除最后一个结点,则采用(  )存储方式最节省运算时间。‍
选项:
A: 带头结点的双循环链表
B: 单链表
C: 单循环链表
D: 双链表
答案: 【 带头结点的双循环链表

14、单选题:
‌若线性表最常用的操作是存取第I个元素及其前驱的值,则采用(    )存储方式节省时间‍
选项:
A: 单链表
B: 双链表
C: 单循环链表
D: 顺序表
答案: 【 顺序表

第三章栈和队列

栈和队列单元测试

1、单选题:
‎一个栈的进栈序列是a,b,c,d,e,则栈的不可能的输出序列是()‏
选项:
A: edcba
B: decba
C: dceab
D: abcde

剩余75%内容付费后可查看

发表评论

电子邮件地址不会被公开。 必填项已用*标注