数据结构试题期中期末考试【含答案】

数据结构期中考试含答案


一、单选题(共35题)

1、(2分)
一个栈的入栈序列是:a, b, c, d, e,则栈的不可能 的输出序列是( C )。

A.edcba
B.decba
C.dceab
D.abcde

2、(2分)
建立一个含n个元素的单链表的时间复杂度是( B )。

A.O(1)
B.O(n)
C.O(n^2)
D.O(nlogn)

3、(2分)
下列序列中,不是线性表的是( C )。
A.(‘A’,‘B’,‘C’,‘D’,‘E’)
B.(‘AB’,‘CDE’)
C.(‘AB’,25,‘DE’)
D.(5,7,2,51,4)

4、(2分)
线性表L=(a1,a2,……an),下列说法正确的是( D )。

A.每个元素都有一个直接前驱和一个直接后继
B.表中诸元素的排列必须是由小到大或由大到小
C.线性表中至少有一个元素
D.除第一个和最后一个元素外,其余每个元素都有一个且仅有一个直接前驱和直接后继。

5、(2分)
用链接方式存储的队列,在进行删除运算时( D )。

A.仅修改头指针
B.仅修改尾指针
C.头、尾指针都要修改
D.头、尾指针可能都要修改

6、(2分)
以下对数组的描述,正确的是( C )。

A.存取数组中各元素的时间各不相同
B.对数组元素可进行访问、插入和删除操作
C.数组可看成是线性表的扩展
D.数组各元素的数据类型可以不同

7、(2分)
设栈S和队列Q的初始状态为空,元素e1、e2、e3、e4、e5和e6依次进入栈S,一个元素出栈后即进入Q,若6个元素出队的序列是e2、e4、e3、e6、e5和e1,则栈S的容量至少应该是( B )。

A.2
B.3
C.4
D.6

8、(2分)
广义表A=(a,b,(c,d),(e,(f,g))),则Head(Tail(Head(Tail(Tail(A)))))的值是( C )

A.(g)
B.(d)
C.d
D.c

9、(2分)
广义表A=(a,b,(c,d),(e,(f,g))),则Head(Tail(Head(Tail(Tail(A)))))的值为( D )。

A. (g)
B. (d)
C. c
D. d

10、(2分)
设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a11为第一元素,其存储地址为1,每个元素占一个地址空间,则a85的地址为( C )。

A.13
B.32
C.33
D.40

11、(2分)
算法的时间复杂度与( B )有关。

A.程序设计语言
B.问题规模
C.计算机硬件性能
D.编译程序质量

12、(2分)
在线性表的链式存储结构中,能从当前结点出发访问任一点的存储结构是( D )。

A.单链表
B.双向链表
C.循环链表
D.B和C

13、(2分)
若一个栈的进栈序列为1,2,3,4,则合法 的出栈序列是( C )。

A.1,4,2,3
B.4,1,2,3
C.3,2,1,4
D.4,3,1,2

14、(2分)
从具有n个结点的单链表中查找值等于x的结点时,在查找成功的情况下,平均需比较( D )个结点。

A.n
B.n/2
C.(n-1)/2
D.(n+1)/2

15、(2分)
用双向链表表示线性表时,较之单链表更容易进行( D )。

A.结点的插入
B.结点的删除
C.线性表的扩充
D.对结点的访问

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

A.p->prior=p->next->next; p->next=p->prior->prior;
B.p->next->prior=p->prior; p->prior->next=p->next;
C.p->next=p->next->next; p->next->prior=p;
D.p->prior->next=p; p->prior=p->prior->prior;

17、(2分)
在下面各种链表结构中,能在O(1)时间内完成在指定结点P之前插入元素X的结构是( D )。

A.不带表头的单链表
B.单向循环链表
C.带表头结点的单链表
D.双向循环链表

18、(2分)
若让元素1,2,3,4,5依次进栈,则出栈次序不可能出现在( C )种情况。

A.5,4,3,2,1
B.2,1,5,4,3
C.4,3,1,2,5
D.2,3,5,4,1

19、(2分)
设广义表L=((a,b,c)),则L的长度和深度分别为( C )。

A.1和1
B.1和3
C.1和2
D.2和3

20、(2分)
在数据结构中,从逻辑上可以把数据结构分成( B )。

A.动态结构和静态结构
B.线性结构和非线性结构
C.紧凑结构和非紧凑结构

21、(2分)
以下与数据的存储结构无关的术语是( C )。

A.顺序队列
B.链表
C.有序表
D.链栈

22、(2分)
一个队列的输入序列是1,2,3,4,则队列的输出序列是( D )。

A.3,2,4,1
B.4,3,2,1
C.1,4,3,2
D.1,2,3,4

23、(2分)
链式栈结点为:(data,link),top指向栈顶.若想摘除栈顶结点,并将删除结点的值保存到x中,则应执行操作( A )。

A.x=top->data;top=top->link;
B.top=top->link;x=top->link;
C.x=top;top=top->link;
D.x=top->link;

24、(2分)
串下面关于串的的叙述中,( B )是不正确的?

A.串是字符的有限序列
B.空串是由空格构成的串
C.模式匹配是串的一种重要运算
D.串既可以采用顺序存储,也可以采用链式存储

25、(2分)
在双向循环链表中,在p指针所指的结点后插入q所指向的新结点,其修改指针的操作是( C )。

A.p->next=q; p->next->prior=q; q->prior=p; q->next=p->next;
B.q->prior=p; q->next=p->next; p->next=q; p->next->prior=q;
C.q->prior=p; q->next=p->next; p->next->prior=q; p->next=q;
D.p->next=q; q->prior=p; p->next->prior=q; q->next=q;

26、(2分)
线性表的顺序存储结构是一种( A )的存储结构。

A.随机存取
B.链式存取
C.索引存取
D.散列存取

27、(2分)
如果以链表作为栈的存储结构,在出栈操作时,则( C )。

A.必须判断栈是否满
B.不需要判断栈是否空
C.必须判断栈是否空
D.对栈不作任何判别

28、(2分)
数组A[0…4,-3…-1,5…7]中含有元素的个数( B )。

A.55
B.45
C.36
D.16

29、(2分)
设有一个递归算法如下
int fact(int n) { //n大于等于0
if(n<=0) return 1;
else return n*fact(n-1); }
则计算fact(n)需要调用该函数的次数为( A )。

A.n+1
B.n-1
C.n
D.n+2

30、(2分)
假设以行序为主序存储二维数组A=array[1…100,1…100],设每个数据元素占2个存储单元,基地址为10,则LOC[5,5]=( B )。

A.808
B.818
C.1010
D.1020

31、(2分)
能在O(1)时间内访问线性表的第i个元素的存储结构是( A )。

A.顺序存储结构
B.单向链表
C.单向循环链表
D.双向链表

32、(2分)
一个递归算法必须包括( C )。

A.递归部分
B.迭代部分
C.终止条件和递归部分
D.终止条件和迭代部分

33、(2分)
循环队列存储在数组A[0…m]中,则入队列的操作为( D )

A.rear=rear+1
B.rear=(rear+)%m
C.rear=(rear+1)%m-1
D.rear=(rear+1)%(m+1)

34、(2分)
以下说法正确的是( D )。

A.数据元素是数据的最小单位
B.数据项是数据的基本单位
C.数据结构是带有结构的各数据项的集合
D.一些表面上很不相同的数据可以有相同的逻辑结构

35、(2分)
数组Q[n]用来表示一个循环队列,f为当前队列头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数小于n,计算队列中元素个数的公式为( D )。

A.r-f
B.(n+f-r)%n
C.n+r-f
D.(n+r-f)%n

二、判断题(共15题)

1、一个非空广义表的表头总是一个单元素。( × )
2、算法分析只从时间复杂度角度进行分析,对空间开销无所谓。( × )
3、按行顺序存储的N*M二维数组a中,其中a[i][j]的地址表达是: a+i * N+j。( × )
4、线性表中的每个结点都有一个直接前驱和一个直接后继。( × )
5、数据项是最小的、有独立含义的、不可分割的单位。( √ )
6、栈和队列都是带限制操作的线性表。( √ )
7、带头结点head的循环单链表为空的判定条件是head->next ==head。 ( √ )
8、空格串就是指长度为0的串。( × )
9、串是一种特殊的线性表,其特殊性体现在数据元素是单个字符。( √ )
10、在表头指针为head的单循环链表中,指针q指向尾结点的条件是 q->next == head。( √ )
11、数据结构包含了数据之间的逻辑结构和物理结构。( √ )
12、广义表((a,b,c))的深度和长度是一致的。( × )
13、一个非空广义表的表尾总是一个表元素。( √ )
14、链表的存取密度比顺序表大。( × )
15、广义表A=((a,b,c,d))的表尾tail(A)=(b,c,d)。( × )

  • 31
    点赞
  • 323
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
综合试题答案,帮助大家更好的复习.25、用一组地址连续的存储单元存放的元素一定构成线性表。( ) A ) 平均情况下,快速排序法最快,堆积排序法最节省空间 若线性表采用顺序存储结构,每个数据元素占用4个存储单元,第12个数据元素的存储地址为144,则第1个数据元素的存储地址是101。Loc(ai)=locl+(i—1)( ) 若长度为n的线性表采用顺序存储结构,删除表的第i个元素之前需要移动表中n-i+1个元素。( )【这是插入的,删除的n-i】 确定串T在串S中首次出现的位置的操作称为串的模式匹配。( 深度为h的非空二叉树的第i层最多有2i-1 个结点。 散列表的查找效率主要取决于所选择的散列函数与处理冲突的方法。 稀疏矩阵压缩存储后,必会失效掉随机存取功能 若一个有向图的邻接矩阵中,对角线以下元素均为0,则该图的拓扑有序序列必定存在。( ) 二叉树可以用0≤度≤2的有序树来表示。 非空双向循环链表中由q所指的结点后面插入一个由p指的结点的动作依次为:p->prior=q, p->next=q->next,q->next=p,q->prior->next←p。( ) 删除非空链式存储结构的堆栈(设栈顶指针为top)的一个元素的过程是依次执行:p=top,top= p->next,free (p)。( ) 排序是计算机程序设计中的一种重要操作,它的功能是将一个数据元素(或记录)的任意序列,重新排列成一个按关键字有序的序列。( ) 在索引顺序表上实现分块查找,在等概率查找情况下,其平均查找长度不与表的个数有关,而与每一块中的元素个数有关 无向图的邻接矩阵是对称的有向图的邻接矩阵是不对称的。( _ D _ C B D D C C A B ( C A B D D C B. C C D 如果某图的邻接矩阵是对角线元素均为零的上三角矩阵,则此图是 D D D C A D A D D B A D A B D B C B ( D A B D C 6___ ( C D D __ C A B D 针q所指 C A A D A D B  D A② D A、 )的有限集合 C _B A  C A  C A D ( D C A D B ( B D ( D _ A A ) ( C A ( B ( B D 只有在初始数据为逆序时,冒泡排序所执行的比较次数最多。(

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值