数据结构线性表习题与答案.docx
- 文档编号:24255287
- 上传时间:2023-05-25
- 格式:DOCX
- 页数:13
- 大小:17.89KB
数据结构线性表习题与答案.docx
《数据结构线性表习题与答案.docx》由会员分享,可在线阅读,更多相关《数据结构线性表习题与答案.docx(13页珍藏版)》请在冰豆网上搜索。
数据结构线性表习题与答案
一、单选题
1、线性表是具有n个______的有限序列。
A.数据项
B.字符
C.数据元素
D.表元素
正确答案:
C
2、线性表是_______。
A.一个无限序列,可以为空
B.一个有限序列不可以为空
C.一个无限序列,不可以为空
D.一个有限序列,可以为空
正确答案:
D
3、关于线性表的正确说法是_______。
A.每个元素都有一个前驱和一个后继元素
B.除第一个元素和最后一个元素外,其余元素有且仅有一个前驱和一个后继元素
C.表中元素的排序顺序必须是由小到大或由大到小
D.线性表中至少有一个元素
正确答案:
B
4、线性表采用链表存储时,其存放各个元素的单元地址是_______。
A.连续与否均可以
B.部分地址必须是连续的
C.一定是不连续的
D.必须是连续的
正确答案:
A
5、链表不具备的特点是_______。
A.插入删除不需要移动元素
B.所需空间与其长度成正比
C.不必事先估计存储空间
D.可随机访问任一节点
正确答案:
D
6、线性表的静态链表存储结构与顺序存储结构相比,优点是_______。
A.所有的操作算法实现简单
B.便于利用零散的存储器空间
C.便于随机存取
D.便于插入和删除
正确答案:
D
7、线性表的顺序存储结构和链式存储结构相比,优点是_______。
A.便于随机存取
B.便于插入和删除
C.所有的操作算法实现简单
D.节省存储空间
正确答案:
A
8、设线性表有n个元素,以下操作中,_______在顺序表上实现比在链表上实现效率高。
A.交换第1个元素第2个元素的值
B.输出与给定值x相等的元素在线性表中的符号
C.输入第i(1<=i<=n)个元素值
D.顺序输出这n个元素的值
正确答案:
C
9、对于一个线性表,既要求能够较快地进行插入和删除操作,又要求存储结构能够反映数据元素之间的逻辑关系,则应采用_______存储结构。
A.顺序
B.链式
C.散列
D.索引
正确答案:
B
10、设线性表中有n个元素,以下操作,_______在单链表上实现要比在顺序表上实现效率高。
A.交换第i个元素和第n-i+1个元素的值
B.在第n个元素的后面插入一个新元素
C.顺序输出前k个元素
D.删除指定位置元素的后一个元素
正确答案:
D
11、以下属于顺序表的优点是_______。
A.插入元素方便
B.删除元素方便
C.以上都不对
D.存储密度大
正确答案:
D
12、要求线性表采用静态空间分配方式,且插入和删除操作时不需要移动元素,采用的存储结构是_______。
A.静态链表
B.单链表
C.双链表
D.顺序表
正确答案:
A
13、如果最常用的操作时取第i个元素及前驱元素,则采用_______存储方式最节省时间。
A.单链表
B.循环单链表
C.顺序表
D.双链表
正确答案:
C
14、与单链表相比,双链表的优点之一是_______。
A.插入、删除操作更简单
B.可以省略表头指针或表尾指针
C.可以进行随机访问
D.访问前后相邻节点更方便
正确答案:
D
15、在长度为n的顺序表中插入一个元素的时间复杂度为_______。
A.O(n2)
B.O
(1)
C.O(n)
D.O(log2n)
正确答案:
C
16、在长度为n的顺序表中删除一个元素的时间复杂度为_______。
A.O(log2n)
B.O
(1)
C.O(n)
D.O(n2)
正确答案:
C
17、在两个各有n个元素的递增有序顺序表归并成一个有序顺序表,其最少的比较次数为_______。
A.2n
B.2n-1
C.n
D.n-1
正确答案:
C
18、将两个长度为n、m的递增有序表归并成一个有序顺序表,其最少的比较次数是_______。
(MIN表示取最小值)
A.n
B.m
C.不确定
D.MIN(m,n)
正确答案:
D
19、在带头节点的单链表L为空的判定条件是_______。
A.L==NULL
B.L->NEXT==NULL
C.L!
=NULL
D.L->NEXT==L
正确答案:
B
20、对于一个具有n个元素的线性表,建立其单链表的时间复杂度为_______。
A.O(n)
B.O(n2)
C.O
(1)
D.O(log2n)
正确答案:
A
21、在单链表中查找指定值的节点的时间复杂度是_______。
A.O(n2)
B.O(n)
C.O(log2n)
D.O
(1)
正确答案:
B
22、以下关于单链表的叙述中,不正确的是_______。
A.逻辑上相邻的元素物理上不必相邻
B.可以通过头节点直接计算第i个节点的存储地址
C.插入、删除运算操作简单,不必移动节点
D.节点除自身信息外还包括指针域,因此存储密度小于顺序存储结构
正确答案:
B
23、在单链表中,增加一个头节点的目的是为了_______。
A.说明单链表是线性表的链式存储结构
B.使单链表至少有一个节点
C.方便运算的实现
D.标识链表中重要节点的位置
正确答案:
C
24、在一个具有n个节点的有序单链表中插入一个新节点并仍然保持有序的时间复杂度是_______。
A.O(n)
B.O(n2)
C.O(nlog2n)
D.O
(1)
正确答案:
A
25、将长度为m的单链表链接在长度为n的单链表之后的算法时间复杂度为_______。
A.O
(1)
B.O(m)
C.O(n)
D.O(m+n)
正确答案:
C
26、已知一个长度为n的单链表中所有节点是递增有序的,以下叙述中正确的是_______。
A.插入一个节点使之有序的算法的时间复杂度为O
(1)
B.找最小值节点的算法的时间复杂度为O
(1)
C.删除最大值节点使之有序的算法的时间复杂度为O
(1)
D.以上都不对
正确答案:
B
27、在一个长度为n(n>1)的带头节点的单链表上,另设有尾指针r(指向尾节点),执行_______操作与链表的长度有关。
A.在单链表最后一个元素后插入一个新节点
B.删除单链表中的第一个元素
C.在单链表中第一个元素前插入一个新节点
D.删除单链表的尾节点
正确答案:
D
28、在一个双链表中,在*p节点之后插入节点*q的操作是_______。
A.q->next=p->next;p->next->prior=q;p->next=q;q->prior=p;
B.p->next=q;q->prior=p;q->next=p->next;p->next->prior=q;
C.p->next->prior=q;q->prior=p;p->next=q;q->next=p->next;
D.q->prior=p;p->next=q;p->next->prior=q;q->next=p->next;
正确答案:
A
29、在一个双链表中,在*p节点之前插入节点*q的操作是_______。
A.p->prior=q;q->next=p;p->prior->next=q;q->prior=p->prior;
B.q->next=p;p->next=q;q->prior->next=q;q->next=p;
C.p->prior->next=q;q->next=p;q->prior=p->prior;p->prior=q;
D.q->prior=p->prior;p->prior->next=q;q->next=p;p->prior=q->next;
正确答案:
C
30、在一个双链表中,删除*p节点的操作是_______。
A.p->prior=p->prior->prior;p->prior->prior=p;
B.p->next->prior=p;p->next=p->next->next;
C.p->next=p->prior->prior;p->prior=p->prior->prior;
D.p->prior–>next=p->next;p->next->prior=p->prior;
正确答案:
D
31、在一个双链表中,删除*p节点之后的一个节点,其时间复杂度为_______。
A.O(nlog2n)
B.O(n2)
C.O
(1)
D.O(n)
正确答案:
C
32、非空的循环单链表L的尾节点(由p所指向)满足_______。
A.p->next==NULL
B.p==NULL
C.p->next==L
D.p==L
正确答案:
C
33、带表头结点的双循环链表L为空表的条件是_______。
A.L->next==L
B.L==NULL
C.L->prior==NULL
D.L->next->prior==NULL
正确答案:
A
34、某线性表最常用的操作是在尾元素之后插入一个元素和删除尾元素,则采用_______存储方式最节省运算时间。
A.单链表
B.双链表
C.循环双链表
D.循环单链表
正确答案:
C
35、如果对含有n(n>1)个元素的线性表的运算只有4种,即删除第一个元素、删除尾元素、在第一个元素前面插入新元素、在尾元素的后面插入新元素,则最好使用_______。
A.只有尾节点指针没有头节点的非循环双链表
B.既有表头指针也有表尾指针的循环单链表
C.只有尾节点指针没有头节点的循环单链表
D.只有开始数据节点指针没有尾节点指针的循环双链表
正确答案:
D
36、在某线性表最常用的操作是在尾元素之后插入一个元素和删除第一个元素。
故采用_______存储方式最节省时间。
A.单链表
B.双链表
C.仅有尾指针的循环单链表
D.仅有头节点指针的循环单链表
正确答案:
C
37、两个表长都为n、不带表头结点的单链表,结点类型都相同,头指针分别为h1与h2,且前者是循环链表,后者是非循环链表,则_______。
A.h1和h2是不同类型的变量
B.循环链表要比非循环链表占用更多的内存空间
C.对于两个链表来说,删除尾节点的操作,其时间复杂度都是O(n)
D.对于两个链表来说,删除首节点的操作,其时间复杂度都是O
(1)
正确答案:
C
38、在长度为n的_______上,删除第一个元素,其算法的时间复杂度为O(n)。
A.只有表尾指针的带表头节点的循环单链表
B.只有表头指针的不带表头节点的循环单链表
C.只有表头指针的带表头节点的循环单链表
D.只有表尾指针的不带表头节点的循环单链表
正确答案:
B
39、下面关于线性表的叙述错误的是_______。
A.线性表采用顺序存储便于插入和删除操作的实现
B.线性表采用顺序存储必须占用一片连续的存储空间
C.线性表采用链式存储不必占用一片连续的存储空间
D.线性表采用链式存储便于插入和删除操作的实现
正确答案:
A
40、对于双链表,在两个节点之间插入一个新节点是,需要修改_______个指针域。
A.3
B.1
C.4
D.2
正确答案:
C
41、在单链表中,要删除某一指定的节点,必须找到该节点的_______节点。
A.前驱
B.头节点
C.后继
D.尾节点
正确答案:
A
42、求一个单链表长度的算法的时间复杂度为_______。
A.O
(1)
B.O(n2)
C.O(log2n)
D.O(n)
正确答案:
D
二、判断题
43、线性表中每个元素都有一个前驱元素和一个后继元素。
(×)
44、线性表中所有元素的排列顺序必须从小到大或从大到小。
(×)
45、静态链表既有顺序存储结构的优点,又有动态链表的优点,所以,利用它存取第i个元素的时间与元素个数n无关。
(×)
46、静态链表与动态链表在元素的插入、删除方面类似,不需要做元素的移动。
(√)
47、线性表的顺序存储结构优于链式存储结构。
(×)
48、在循环单链表中,从表中任一节点出发都可以通过前后移动操作遍历整个循环链表。
(×)
49、在单链表中,可以从头节点开始查找任何一个节点。
(√)
50、在双链表中,可以从任一节点开始沿着同一方向查找到任何其他节点。
(×)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 线性 习题 答案