第一章 单元测试

1、 问题:

数据在计算机内存中的表示是指()

选项:
A:数据的存储结构
B:数据结构
C:数据的逻辑结构
D:数据元素之间的关系
答案: 【
数据的存储结构

2、 问题:

算法指的是()

选项:
A:计算机程序
B:解决问题的计算方法
C:排序算法
D:解决问题的有限运算序列
答案: 【
解决问题的有限运算序列

3、 问题:

在数据结构中,与所使用的计算机无关的数据结构是()

选项:
A:逻辑结构
B:存储结构
C:逻辑结构和存储结构
D:物理结构
答案: 【
逻辑结构

4、 问题:

算法能正确地实现预定功能的特性称为算法的()。

选项:
A:正确性
B:可读性
C:健壮性
D:高效性
答案: 【
正确性

5、 问题:

已知某算法的执行时间为(n+n2)log2(n+2),n为问题规模,则该算法的时间复杂度是(  )。

选项:
A:O(nlogn)
B:O(n^2logn)
C:O((n+n^2)logn)
D:O(n^2)
答案: 【
O(n^2logn)

6、 问题:

下面算法将一维数组a中的数据逆序存放到原数组中,空间复杂度为()。

for(i=0;i<n;i++)    b[i] = a[n-i-1];for(i=0;i<n;i++)     a[i] = b[i];

选项:
A:O(1)
B:O(n)
C:O(logn)
D:O(n2)
答案: 【
O(n)

第二章 单元测试

1、 问题:

链表不具备的特点是(  )。

选项:
A:可随机访问任意一个结点
B:插入和删除不需要移动任何元素
C:不必事先估计存储空间
D:所需空间与其长度成正比
答案: 【
可随机访问任意一个结点

2、 问题:

线性表的顺序存储表示优于链式存储表示。 

选项:
A:对
B:错
答案: 【

3、 问题:

顺序存储结构的缺点是不便于修改,插入和删除需要移动很多结点。

选项:
A:对
B:错
答案: 【

4、 问题:

在设头、尾指针的单链表中,与长度n有关的操作是( )。

选项:
A:删除第一个结点
B:删除最后一个结点
C:在第一个结点之前插入一个结点
D:在p结点之后插入一个结点
答案: 【
删除最后一个结点

5、 问题:

设指针q指向单链表中结点A,指针p指向单链表中结点A的后继结点B,指针s指向被插入的结点X,则在结点A和结点B间插入结点X的操作序列为( )。

选项:
A:s->next=p->next;p->next=-s;
B:q->next=s; s->next=p;
C:p->next=s->next;s->next=p;
D:p->next=s;s->next=q;
答案: 【
q->next=s; s->next=p;

6、 问题:

对于只在表的首、尾两端进行插入操作的线性表,宜采用的存储结构为( )。

选项:
A:顺序表
B:用头指针表示的循环单链表
C:用尾指针表示的循环单链表
D:单链表
答案: 【
用尾指针表示的循环单链表

7、 问题:

在一个单链表中,若p所指节点不是最后节点,在p之后插入s所指节点,则执行( )。

选项:
A:s->link=p;p->link=s;
B:s->link=p->link;p->link=s;
C:s->link=p->link;p=s;
D:p->link=s;s->link=p;
答案: 【
s->link=p->link;p->link=s;

8、 问题:

在双向链表存储结构中,删除p所指的结点时须修改指针( )。

选项:
A:p->next->prior=p->prior; p->prior->next=p->next;
B:p->next=p->next->next; p->next->prior=p;
C:p->prior->next=p; p->prior=p->prior->prior;
D:p->prior=p->next->next; p->next=p->prior->prior;
答案: 【
p->next->prior=p->prior; p->prior->next=p->next;

9、 问题:

若事先不知道线性表的长度,则处理线性表时较好的存储结构是( )。

选项:
A:单链表
B:静态链表
C:顺序表
D:B和C
答案: 【
单链表

10、 问题:

向一个有127个元素的顺序表中插入一个新元素并保存,原来顺序不变,平均要移动( )个元素。

选项:
A:8
B:63.5
C:63
D:7
答案: 【
63.5

11、 问题:

某线性表采用顺序存储结构,每个元素占4个存储单元,首地址为100,则第12个元素的存储地址为( )。

选项:
A:144
B:145
C:147
D:148
答案: 【
144

12、 问题:

在一个以 h 为头的单循环链表中,p 指针指向链尾的条件是( )。

选项:
A:p->next == h
B:p->next == NULL
C:p->next->next == h
D:p->data == -1
答案: 【
p->next == h

13、 问题:

在表头指针为head 且表长大于1的单向循环链表中,指针p 指向表中的某个结点,若p->next->next=head,则( )。

选项:
A:p指向头结点
B:p指向尾结点
C:p的直接后继是头结点
D:
p的直接后继是尾结点
答案: 【
*p的直接后继是尾结点

14、 问题:

线性表若采用链式存储结构时,要求内存中可用存储单元的地址(   )。

选项:
A:必须是连续的
B:部分地址必须是连续的
C:一定是不连续的
D:连续不连续都可以
答案: 【
连续不连续都可以

15、 问题:

在单链表中,指针p指向元素为x的结点,实现“删除x的后继”的语句是( )。

选项:
A:p=p->next;
B:p->next=p->next->next;
C:p->next=p;
D:p=p->next->next;
答案: 【
p->next=p->next->next;

16、 问题:

可以用带表头结点的链表表示线性表,也可以用不带表头结点的链表表示线性表,前者最主要的好处是( )。

选项:
A:可以加快对表的遍历
B:使空表和非空表的处理统一
C:节省存储空间
D:可以提高存取元素的速度
答案: 【
使空表和非空表的处理统一

17、 问题:

与单链表相比,双向链表的优点之一是(   )。

选项:
A:插入、删除操作更加简单
B:可以随机访问
C:可以省略表头指针或表尾指针
D:顺序访问相邻结点更加灵活
答案: 【
顺序访问相邻结点更加灵活

18、 问题:

如果最常用的操作是取第i个结点及其前驱,最节省时间的存储方式(   )。

选项:
A:单链表
B:双向链表
C:单循环链表
D:顺序表
答案: 【
顺序表

19、 问题:

线性链表不具有的特点是(  )。

选项:
A:随机访问
B:不必事先估计所需存储空间大小
C:插入与删除时不必移动元素
D:所需空间与线性表长度成正比
答案: 【
随机访问

20、 问题:

对顺序存储的线性表,设其长度为n,在任何位置上插入或删除操作都是等概率的。插入一个元素时平均要移动表中的( )个元素。

选项:
A:n/2
B:(n+1)/2
C:(n-1)/2
D:n
答案: 【
n/2

21、 问题:

链表是采用链式存储结构的线性表,进行插入、删除操作时,在链表中比在顺序存储结构中效率高。

选项:
A:对
B:错
答案: 【

22、 问题:

在一个带头结点的双向循环链表中,若要在p所指向的结点之前插入一个新结点,则需要相继修改(   )个指针域的值。

选项:
A:2
B:3
C:4
D:5
答案: 【
4

23、 问题:

具有线性关系的集合中,若a,b是集合中的任意两个元素,则必有a<b的关系。

选项:
A:对
B:错
答案: 【

第三章 单元测试

1、 问题:

设abcdef以所给次序进栈,若在进栈操作时允许退栈,则下列得不到的序列为()

选项:
A:fedcba  
B:bcafed  
C:dcefba  
D:cabdef
答案: 【
cabdef

本门课程剩余章节答案为付费内容
本文章不含期末不含主观题!!
本文章不含期末不含主观题!!
支付后可长期查看
有疑问请添加客服QQ 2356025045反馈
如遇卡顿看不了请换个浏览器即可打开
请看清楚了再购买哦,电子资源购买后不支持退款哦