6.2 KiB
期中测试试题📄
选择题🔤
- 若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若p1=n,则pi为
-
A.不确定
-
B.i
-
C.n-i
-
D.n-i+1
- 判定以 head 为头指针的不带头结点的单链表只有一个结点的条件是( )。
-
A.head->next= =NULL
-
B.head!=NULL
-
C.head= =NULL
-
D.head->next= =head
- 对于顺序存储的长度为n的线性表,在第i个位置插入一个元素需要移动( )个元素。其中,0≤i<n。
-
A.i
-
B.n-i-1
-
C.n-i+1
-
D.n-i
- 允许对队列进行的操作有()。
-
A.在队头元素之前插入元素
-
B.取出最近进队的元素
-
C.删除队头元素
-
D.对队列中的元素排序
- 在班级信息管理表中,为了能按班级学号实现快速查询本班级学生信息的算法,采用( )更好。
-
A.顺序表
-
B.链表
- 设某顺序表中第一个元素的地址是 Base ,每个结点占 m 个单元,则第 i 个结点的地址为( )。
-
A.Base+(i+1)∗m
-
B.Base−i∗m
-
C.Base+(i−1)∗m
-
D.Base+i∗m
- 栈在____中有所应用。
-
A.前三个选项都有
-
B.表达式求值
-
C.递归调用
-
D.函数调用
- 若用一个大小为 6 的数组来实现循环队列,且当前 rear 和 front 的值分别为 0 和 3 ,当从队列中删除一个元素,再加入两个元素后, rear 和 front 的值分别为( )。
-
A.1 和 4
-
B.1 和 5
-
C.2 和 4
-
D.2 和 3
- 一个顺序表里已经有10个元素,最大容量是100,欲在顺序表中插入一个元素,则不合理的插入位置是( )。
-
A.15
-
B.11
-
C.5
-
D.1
- 判定以head为首指针的不带头结点的单链表为空的条件是( )。
-
A.head= =NULL
-
B.head->next= =NULL
-
C.head!=NULL
-
D.head->next= =head
- 线性表是( )。
-
A.一个有限序列,可以为空
-
B.一个有限序列,不可以为空
-
C.一个无限序列,不可以为空
-
D.一个无限序列,可以为空
- 一个顺序表里已经有 5 个元素,最大容量是 100 ,现插入 2 个元素,删除 3 个元素,该顺序表的长度是( )。
-
A.5
-
B.4
-
C.不确定
-
D.1
- 下面关于串的的叙述中, 是不正确的。
-
A.模式匹配是串的一种重要运算
-
B.串既可以采用顺序存储,也可以采用链式存储
-
C.空串是由空格构成的串
-
D.串是字符的有限序列
- 能够满足快速完成插入和删除运算的线性表存储结构是( )。
-
A.散列存储
-
B.链式存储
-
C.有序存储
-
D.顺序存储
- 设进栈次序为ABCDE,( )是不可能得到的出栈序列。
-
A.ABCDE
-
B.EABCD
-
C.BCDEA
-
D.EDCBA
- 铁路进行列车调度时,常把站台设计成栈式结构,若进站的六辆列车顺序为:1,2,3,4,5,6, 不能出栈序列是( )。
-
A.1 2 3 4 5 6
-
B.3 2 5 6 4 1
-
C.1 3 5 4 2 6
-
D.4 3 5 6 1 2
- 在数据结构中,从逻辑上可以把数据结构分成
-
A.线性结构和非线性结构
-
B.动态结构和静态结构
-
C.内部结构和外部结构
-
D.紧凑结构和非紧凑结构
- 线性表的顺序存储最适合于实现( )运算。
-
A.查找
-
B.插入
-
C.由下标定位
-
D.删除
- 顺序表中第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是
-
A.110
-
B.100
-
C.108
-
D.120
- 在一个单链表中,若删除p所指结点的后续结点,则执行( )。
-
A.p=p->next->next
-
B.p->next=p->next
-
C.p=p->next;p->next=p->next->next
-
D.p-next=p->next->next
- 数组S[M]存储一个栈,top为栈顶指针。如果条件top= =-1表示栈空,在栈不空的情况下,栈顶元素为( )。
-
A.S[++top]
-
B.S[top-1]
-
C.S[top+1]
-
D.S[top]
- 对于链接存储的存储结构所占存储空间,以下选项描述正确的是( )。
-
A.分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针
-
B.分两部分,一部分存放结点值,另一部分存放结点所占单元数
-
C.只有一部分,存储表示结点间关系的指针
-
D.只有一部分,存放结点值
- 已知last指向单链表的尾结点,将 s 所指结点加在表尾,以下选项描述正确的是( )。
-
A.s->next=last, last->next=NULL,last=s;
-
B.last->next=s,s->next=NULL,last=s;
-
C.s->next=NULL, last->next=s, s=last;
-
D.s->next=s,last=s,last->next=NULL;
- 对于一个头指针为head的带头结点的单链表,判定该表为空表的条件是( )。
-
A.head→next==head
-
B.head==NULL
-
C.head!=NULL
-
D.head→next==NULL
- 线性表L在 情况下适用于使用链式结构实现。
-
A.L中结点结构复杂
-
B.需不断对L进行删除插入
-
C.需经常修改L中的结点值
-
D.L中含有大量的结点
- 循环队列存储在数组A[0..m]中,则入队时的操作为
-
A.rear=rear+1
-
B.rear=(rear+1)%(m+1)
-
C.rear=(rear+1)%(m-1)
-
D.rear=(rear+1)%m
填空题🈳
- 在某个线性链表中在p节点后插入节点x,若s为指向插入节点x的指针,则指针修改语句为s->next=p->next 和什么?
p->next=s;
- 线性表中元素的存储可以使用顺序表和 。
链表
- 数据结构中数据的关系通常有集合、、树形结构、图状结构和网状结构。
数组
- 循环队列Q中判断队满的条件为 (最大空间MAXQSIZE、队头指针Q.front,队尾指针Q.rear)。
(Q.rear+1)%MAXQSIZE==Q.front;