Files
2024-12-05 15:46:08 +08:00

6.2 KiB
Raw Permalink Blame History

期中测试试题📄

选择题🔤

  1. 若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若p1=n,则pi为
  • A.不确定

  • B.i

  • C.n-i

  • D.n-i+1

  1. 判定以 head 为头指针的不带头结点的单链表只有一个结点的条件是( )。
  • A.head->next= =NULL

  • B.head!=NULL

  • C.head= =NULL

  • D.head->next= =head

  1. 对于顺序存储的长度为n的线性表,在第i个位置插入一个元素需要移动( )个元素。其中,0≤i<n。
  • A.i

  • B.n-i-1

  • C.n-i+1

  • D.n-i

  1. 允许对队列进行的操作有()。
  • A.在队头元素之前插入元素

  • B.取出最近进队的元素

  • C.删除队头元素

  • D.对队列中的元素排序

  1. 在班级信息管理表中,为了能按班级学号实现快速查询本班级学生信息的算法,采用( )更好。
  • A.顺序表

  • B.链表

  1. 设某顺序表中第一个元素的地址是 Base ,每个结点占 m 个单元,则第 i 个结点的地址为( )。
  • A.Base+(i+1)m

  • B.Baseim

  • C.Base+(i1)m

  • D.Base+im

  1. 栈在____中有所应用。
  • A.前三个选项都有

  • B.表达式求值

  • C.递归调用

  • D.函数调用

  1. 若用一个大小为 6 的数组来实现循环队列,且当前 rear 和 front 的值分别为 0 和 3 ,当从队列中删除一个元素,再加入两个元素后, rear 和 front 的值分别为( )。
  • A.1 和 4

  • B.1 和 5

  • C.2 和 4

  • D.2 和 3

  1. 一个顺序表里已经有10个元素,最大容量是100,欲在顺序表中插入一个元素,则不合理的插入位置是( )。
  • A.15

  • B.11

  • C.5

  • D.1

  1. 判定以head为首指针的不带头结点的单链表为空的条件是( )。
  • A.head= =NULL

  • B.head->next= =NULL

  • C.head!=NULL

  • D.head->next= =head

  1. 线性表是( )。
  • A.一个有限序列,可以为空

  • B.一个有限序列,不可以为空

  • C.一个无限序列,不可以为空

  • D.一个无限序列,可以为空

  1. 一个顺序表里已经有 5 个元素,最大容量是 100 ,现插入 2 个元素,删除 3 个元素,该顺序表的长度是( )。
  • A.5

  • B.4

  • C.不确定

  • D.1

  1. 下面关于串的的叙述中, 是不正确的。
  • A.模式匹配是串的一种重要运算

  • B.串既可以采用顺序存储,也可以采用链式存储

  • C.空串是由空格构成的串

  • D.串是字符的有限序列

  1. 能够满足快速完成插入和删除运算的线性表存储结构是( )。
  • A.散列存储

  • B.链式存储

  • C.有序存储

  • D.顺序存储

  1. 设进栈次序为ABCDE,( )是不可能得到的出栈序列。
  • A.ABCDE

  • B.EABCD

  • C.BCDEA

  • D.EDCBA

  1. 铁路进行列车调度时,常把站台设计成栈式结构,若进站的六辆列车顺序为: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

  1. 在数据结构中,从逻辑上可以把数据结构分成
  • A.线性结构和非线性结构

  • B.动态结构和静态结构

  • C.内部结构和外部结构

  • D.紧凑结构和非紧凑结构

  1. 线性表的顺序存储最适合于实现( )运算。
  • A.查找

  • B.插入

  • C.由下标定位

  • D.删除

  1. 顺序表中第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是
  • A.110

  • B.100

  • C.108

  • D.120

  1. 在一个单链表中,若删除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

  1. 数组S[M]存储一个栈,top为栈顶指针。如果条件top= =-1表示栈空,在栈不空的情况下,栈顶元素为( )。
  • A.S[++top]

  • B.S[top-1]

  • C.S[top+1]

  • D.S[top]

  1. 对于链接存储的存储结构所占存储空间,以下选项描述正确的是( )。
  • A.分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针

  • B.分两部分,一部分存放结点值,另一部分存放结点所占单元数

  • C.只有一部分,存储表示结点间关系的指针

  • D.只有一部分,存放结点值

  1. 已知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;

  1. 对于一个头指针为head的带头结点的单链表,判定该表为空表的条件是( )。
  • A.head→next==head

  • B.head==NULL

  • C.head!=NULL

  • D.head→next==NULL

  1. 线性表L在 情况下适用于使用链式结构实现。
  • A.L中结点结构复杂

  • B.需不断对L进行删除插入

  • C.需经常修改L中的结点值

  • D.L中含有大量的结点

  1. 循环队列存储在数组A[0..m]中,则入队时的操作为
  • A.rear=rear+1

  • B.rear=(rear+1)%(m+1)

  • C.rear=(rear+1)%(m-1)

  • D.rear=(rear+1)%m

填空题🈳

  1. 在某个线性链表中在p节点后插入节点x,若s为指向插入节点x的指针,则指针修改语句为s->next=p->next 和什么?
p->next=s;
  1. 线性表中元素的存储可以使用顺序表和 。
链表
  1. 数据结构中数据的关系通常有集合、、树形结构、图状结构和网状结构。
数组
  1. 循环队列Q中判断队满的条件为 (最大空间MAXQSIZE、队头指针Q.front,队尾指针Q.rear)。
(Q.rear+1)%MAXQSIZE==Q.front;