From d61c9df9f25f9752ebbe94a05a67f46e20e4377f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=A1=E5=9D=82=E6=98=B4?= Date: Mon, 4 Nov 2024 21:52:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=9F=E4=B8=AD=E6=B5=8B=E8=AF=95=E5=8E=9F?= =?UTF-8?q?=E5=A7=8B=E6=95=B0=E6=8D=AE=E8=8E=B7=E5=8F=96=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 期中测试.md | 280 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 280 insertions(+) create mode 100644 期中测试.md diff --git a/期中测试.md b/期中测试.md new file mode 100644 index 0000000..c37dd1d --- /dev/null +++ b/期中测试.md @@ -0,0 +1,280 @@ +若已知一个栈的入栈序列是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 和什么? + +```c +p->next=s; +``` + +线性表中元素的存储可以使用顺序表和 。 + +```中文(简体) +链表 +``` + +数据结构中数据的关系通常有集合、 、树形结构、图状结构和网状结构。 + +```中文(简体) +数组 +``` + +循环队列Q中判断队满的条件为 (最大空间MAXQSIZE、队头指针Q.front,队尾指针Q.rear)。 + +```c +(Q.rear+1)%MAXQSIZE==Q.front; +``` +