数据结构与算法期中(填空选择判断题)

单项选择题
第1题
设S为一个长度为n的字符串,其中的字符各不相同,则S中的互异的非平凡子串(非空且不同于S本身)的个数为( b )。

(n^2/2)+(n/2)
(n^2/2)+(n/2)-1
n^2
2^(n-1)
第2题
中缀表达式(A+B)(C-D)/(E-FG)的后缀表达式是(b )。
ABCDEFG+-/-
AB+CD-EFG-/
AB+CD-E/F-G
A+BC-D/E-FG
第3题
已知操作符包括‘+’,‘-’,‘’,‘/’,‘(’和‘)’。将中缀表达式a+b-a((c+d)/e-f)+g转换为等价的后缀表达式ab+acd+e/f--g+时,用栈来存放暂时还不能确定运算次序的操作符。若栈初始时为空,则转换过程中同时保存在栈中的操作符的最大个数是(d )
11
8
7
5
第4题
已知字符串S为“abaabaabacacaabaabcc”. 模式串t为“abaabc”, 采用KMP算法进行匹配,第一次出现“失配”(s[i] != t[i]) 时,i=j=5,则下次开始匹配时,i和j的值分别是 ©
i=1,j=0
i=5,j=0
i=5,j=2
i=6,j=2
第5题
中缀表达式(A+B)
(C-D)/(E-FG)的后缀表达式是(a )
AB+CD-EFG-/
A+B
C-D/E-FG
ABCDEFG+
-/-*
AB+CD-E/F-G
第6题
串是一种特殊的线性表,下面哪个叙述体现了这种特殊性?(B)
数据元素可以是多个字符
数据元素是一个字符
可以链接存储
可以顺序存储
第7题
已知一算术表达式的中缀形式为A+BC-D/E,后缀形式为ABC+DE/-,其前缀形式为(b )。
-+ABC/DE
-+A
BC/DE
-A+BCD/E
-A+B
C/DE
第8题
串的长度是指( a)。
串中所含字符的个数
串中所含不同字母的个数
串中所含非空格字符的个数
串中所含不同字符的个数
第9题
若串S=“software”,其子串的数目是( )。
9
8
36
37
第10题
下面关于串的的叙述中,哪一个是不正确的?c
模式匹配是串的一种重要运算
串是字符的有限序列
串既可以采用顺序存储,也可以采用链式存储
空串是由空格构成的串
第11题
假设栈初始为空,将中缀表达式a/b+(cd-ef)/g转换为等价的后缀表达式的过程中,当扫描到f时,栈中的元素依次是(c )
+(-
/+(
-*
+(-*
/±*
第12题
设有两个串S1和S2,求S2在S1中首次出现的位置的运算称作(d )。
求子串
连接
判断是否相等
模型匹配
第13题
设一维数组中有n个数组元素,则读取第i个数组元素的平均时间复杂度为(b )。
O(n)
O(1)
O(n)
O(nlogn)
第14题
在n个结点的线性表的顺序实现中,算法的时间复杂性是O(1)的操作是(c )
以上都不对
在第i个结点后插入一个新结点
访问第i个结点和求第i个结点的直接前驱
删除第i个结点
第15题
某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( a)存储方式最节省运算时间。
仅有尾指针的单循环链表
仅有头指针的单循环链表
双链表
单链表
第16题
若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( b)存储方式最节省时间。
带头结点的双循环链表
顺序表
单循环链表
双链表
第17题
在循环双链表的p结点之后插入s结点的操作是(d )
p->next=s; s->prior=p; p->next->prior=s; s->next=p->next;
s->prior=p; s->next=p->next; p->next=s; p->next->prior=s;
p->next=s; p->next->prior=s; s->prior=p; s->next=p->next;
s->prior=p; s->next=p->next; p>next->prior=s; p->next=s;
第18题
在单链表的指针为p的结点之后插入指针为s的结点,正确的操作是(b )
p->next = s->next; p->next = s;
s->next = p->next; p->next = s;
p->next = s; p->next = s->next;
p->next = s; s->next = p->next;
第19题
设指针变量p指向单链表中结点A,若删除单链表中结点A,则需要修改指针的操作序列为( d)。
q=p->next;p->next=q->next;free(q);
q=p->next;p->data=q->data;p->next=q->next;free(q);
q=p->next;p->data=q->data;free(q);
q=p->next;q->data=p->data;p->next=q->next;free(q);
第20题
在一个有N个元素的有序单链表中查找具有给定关键字的结点,平均情况下的时间复杂性为(a )。
O(N)
O(NN)
O(NlogN)
O(1)
第21题
链表不具有的特点是(c )
所需空间与线性长度成正比
插入、删除不需要移动元素
可随机访问任一元素
不必事先估计存储空间
第22题
双向链表中有两个指针域,prior和next分别指向前趋及后继,设p指向链表中的一个结点,现要求删去p所指结点,则正确的删除是(b )(链中结点数大于2,p不是第一个结点)
p->prior->next = p->prior; delete p; p->next->prior = p->prior;
以上A,B,C都不对
delete p; p->prior->next = p->next; p->next->prior = p->prior;
p->prior->next = p->next; p->next->prior = p->prior; delete p;
第23题
在一个以h为头指针(指向头结点)的单循环链中,p指针指向链尾的条件是(b )
p->next->next == h
p->next == h
p->data == -1
p->next == NULL
第24题
单链表中,增加一个头结点的目的是为了( c)
说明单链表是线性表的链式存储
标识表结点中首结点的位置
方便运算的实现
使单链表至少有一个结点
第25题
下面关于线性表的叙述错误的是(d )。
线性表采用链式存储不必占用一片连续的存储空间
线性表采用链式存储便于插入和删除操作的实现
线性表采用顺序存储必须占用一片连续的存储空间
线性表采用顺序存储便于插入和删除操作的实现
第26题
己知一个带有表头结点的双向循环链表L,结点结构为(prev,data,next),其中prev和next分别是指向其直接前驱和直接后继结点的指针。现要删除指针p所指的结点,正确的语句序列是(b )
p->next->prev = p->next; p->prev->next = p->prev; free §;
p->next->prev = p->prev; p->prev->next = p->next; free §;
p->next->prev = p->next; p->prev->next = p->next; free §;
p->next->prev = p->prev; p->prev->next = p->prev; free §;
第27题
一个具有1025个结点的二叉树的高h为(c )
10至1024之间
11至1025之间
11
10
第28题
若以1234作为双端队列的输入序列,则既不能由输入受限的双端队列(一端输入,两端输出)得到,也不能由输出受限的双端队列(两端输入,一端输出)得到的输出序列是(d )
4132
1234
4213
4231
第29题
一个栈的入栈序列为 1, 2, 3,…,n,其出栈序列是 p1, p2 , p3…pn。若 p2为 3 ,则 p3 可能取值的个数是(b )
n-2
n-1
n-3
无法确定
第30题
某队列允许在其两端进行入队操作,但仅允许在一端进行出队操作。若元素a,b,c,d,e依次入此队列后再进行出队操作,则不可能得到的出队序列是( c)
b,a,c,d,e
e,c,b,a,d
d,b,c,a,e
d,b,a,c,e
第31题
设输入序列是1、2、3、??、n,经过栈的作用后输出序列的第一个元素是n,则输出序列中第i个输出元素是(d )。
不能确定
n-1-i
n-i
n+1-i
第32题
循环队列存储在数组A[0…m]中,则入队时的操作为( a)。
rear=(rear+1) mod m
rear=(rear+1)mod(m+1)
rear=rear+1
rear=(rear+1) mod (m-1)
第33题
循环队列A[0…m-1]存放其元素值,用front和rear分别表示队头和队尾,则当前队列中的元素数是(b )。
rear-front-1
(rear-front+m)%m
rear-front
rear-front+1
第34题
为解决计算机主机与打印机之间速度不匹配问题,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据。该缓冲区的逻辑结构应该是( b)

队列


第35题
栈和队列的共同特点是( c)。
没有共同点
都是先进先出
只允许在端点处插入和删除元素
都是先进后出
第36题
循环队列存放在一维数组A[0…M-1]中,end1指向队头元素,end2指向队尾元素的后一个位置。假设队列两端均可进行入队和出队操作,队列中最多能容纳M-1个元素,初始时为空。下列判断队空和队满的条件中,正确的是( c)
队空:end1end2; 队满:end2(end1+1) mod (M-1)
队空:end1==(end2+1) mod M; 队满:end2==(end1+1) mod (M-1)
队空:end1end2; 队满:end1(end2+1) mod M
队空:end2==(end1+1) mod M; 队满:end1==(end2+1) mod M
第37题
元素a,b,c,d,e依次进入初始为空的栈中,若元素进栈后可停留、可出栈,直到所有元素都出栈,则在所有可能的出栈序列中,以元素d开头的序列个数是d
6
5
3
4
第38题
对于栈操作数据的原则是(a )。
后进先出
先进先出
后进后出
不分顺序
第39题
设栈的输入序列是1,2,3,4,则(d )不可能是其出栈序列。
1,4,3,2
2,1,3,4
1,2,4,3
4,3,1,2
第40题
一个递归算法必须包括(a )。
终止条件和递归部分
递归部分
终止条件和迭代部分
迭代部分
第41题
若元素a,b,c,d,e,f依次进栈,允许进栈、退栈操作交替进行,但不允许连续三次进行退栈操作,则不可能得到的出栈序列是( a)
a,f,e,d,c,b
b,c,a,e,f,d
d,c,e,b,f,a
c,b,d,a,e,f
第42题
用链接方式存储的队列,在进行插入运算时(a )。
头、尾指针可能都要修改
头、尾指针都要修改
仅修改头指针
仅修改尾指针
第43题
设用链表作为栈的存储结构则退栈操作(b )。
对栈不作任何判别
必须判别栈是否为空
必须判别栈是否为满
判别栈元素的类型
第44题
若栈采用顺序存储方式存储,现两栈共享空间V[1…m],top[i]代表第i个栈( i =1,2)栈顶,栈1的底在v[1],栈2的底在V[m],则栈满的条件是( d)。
top[1]=top[2]
|top[2]-top[1]|=0
top[1]+top[2]=m
top[1]+1=top[2]
第45题
一个栈的输入序列为123…n,若输出序列的第一个元素是n,输出第i(1<=i<=n)个元素是( c)。
n-i
i
n-i+1
不确定
第46题
设顺序循环队列Q[0:M-1]的头指针和尾指针分别为F和R,头指针F总是指向队头元素的前一位置,尾指针R总是指向队尾元素的当前位置,则该循环队列中的元素个数为(a )。
(R-F+M)%M
R-F
F-R
(F-R+M)%M
第47题
算法分析的目的是(c )
研究算法中的输入和输出的关系
找出数据结构的合理性
分析算法的效率以求改进
分析算法的易懂性和文档特点
第48题
求整数n(n>=0)阶乘的算法如下,其时间复杂度是( d)。int fact(int n){ if (n<=1) return 1; return n
fact(n-1);}
O(nn)
O(nlogn)
O(n)
O(logn)
第49题
以下数据结构中哪一个是非线性结构?( b)
队列
二叉树
线性表

第50题
非线性结构中的每个结点(d )
只有一个直接前趋结点和一个直接后继结点
无直接后继结点
无直接前趋结点
可能有多个直接前趋结点和多个直接后继结点
第51题
算法的计算量大小称为算法的(d )
难度
效率
空间复杂度
时间复杂度
第52题
数据结构通常是研究数据的(d )及它们之间的相互联系
存储和抽象
联系与逻辑
联系和抽象
存储结构和逻辑结构
第53题
数据元素之间没有任何逻辑关系的是(b )
树形结构
集合
线性结构
图形结构
第54题
在数据结构中,从逻辑上可以将之分为(c )。
内部结构和外部结构
动态结构和静态结构
线性结构和非线性结构
紧凑结构和非紧凑结构
第55题
链式存储结构所占存储空间 (b )
只有一部分存放结点的值
分两部分一部分存放结点的值,另一部分存放表示结点间关系的指针
只有一部分存储表示结点间关系的指针
第56题
下列程序段的时间复杂度(a )。count=0;for(k=1; k<=n; k
=2) for(j=1; j<=n; j+=1) count++;
O(nlogn)
O(n)
O(nn)
O(logn)
第57题
设某数据结构的二元组形式表示为A=(D,R),D={01,02,03,04,05,06,07,08, 09},R={r},r={,,,,,,,},则数据结构A是( c )。
物理结构
图型结构
树型结构
线性结构
第58题
下列函数的时间复杂度(d )。int func(int n){ int i=0,sum=0; while( sum<n ) sum += ++i; return i;}
O(n)
O(logn)
O(nlogn)
O(n1/2)即n的1/2次方
第59题
数据的最小单位是( a)。
数据项
数据类型
数据元素
数据变量
第60题
设n是描述问题规模的非负整数,下面程序片段的时间复杂度是© x=2;while(x<n/2) x=2
x;
O(nlogn)
O(n)
O(logn)
O(n*n)

不定项选择题
第1题
下列说法正确的有:(ace )
所谓数据的逻辑结构是指数据元素之间的逻辑关系。
同一数据逻辑结构中的所有数据元素都具有相同的特性是指数据元素所包含的数据项的个数相等。
数据的逻辑结构与数据元素本身的内容和形式无关。
算法和程序原则上没有区别,在讨论数据结构时二者通用。
从逻辑关系上讲,数据结构分为两大类:线性结构和非线性结构。
数据结构是指相互之间存在一种或多种关系的数据元素的全体。

第2题
算法的性能标准是(cdf )、高效率和低存储量。
可行性
确定性
健壮性
正确性
有限性
可读性

第3题
依据所有数据成员之间逻辑关系的不同,数据结构分为(bc )
物理结构
逻辑结构
线性结构
非线性结构
数据结构

判断题
第1题
KMP算法的特点是在模式匹配时指示主串的指针不会变小。
学生答案:
T

第2题
串长度是指串中不同字符的个数。
学生答案:
F

第3题
两个长度不相同的串有可能相等。
学生答案:
F

第4题
设模式串的长度为m,目标串的长度为n,当n≈m且处理只匹配一次的模式时,朴素的匹配(即子串定位函数)算法所花的时间代价可能会更为节省。
学生答案:
T

第5题
顺序存储方式的优点是存储密度大,且插入、删除运算效率高。
学生答案:
F

第6题
线性表采用链表存储时,结点和结点之间的存储空间可以是不连续的。
学生答案:
T

第7题
顺序存储方式插入和删除时效率太低,因此它不如链式存储方式好。
学生答案:
F

第8题
线性表中每个元素都有一个直接前驱和一个直接后继。
学生答案:
F

第9题
程序和算法没有区别。
学生答案:
F

第10题
算法可以没有输出。
学生答案:
F

第11题
抽象数据类型与计算机内部表示和实现无关;
学生答案:
T

第12题
数据的逻辑结构与数据元素本身的内容和形式无关。
学生答案:
T

第13题
通常使用队列来处理函数或过程的调用。
学生答案:
F

第14题
消除递归不一定需要使用栈。
学生答案:
T

第15题
栈和队列都是线性表,只是在插入和删除时受到了一些限制。
学生答案:
T

第16题
栈和队列的存储方式,既可以是顺序方式,又可以是链式方式。
学生答案:
T

填空题
第1题
设输入序列为1、2、3,则经过栈的作用后可以得到___________种不同的输出序列。
学生答案:
5

第2题
不论是顺序存储结构的栈还是链式存储结构的栈,其入栈和出栈操作的时间复杂度均为____________。
学生答案:
O(1)

第3题
设有一个顺序循环队列中有M个存储单元,采用空一个位的方式区分队列空和满,则该循环队列中最多能够存储________个队列元素;若队首指针为F,队尾指针为R,则当前实际存储________________个队列元素(设指针F指向当前队头元素的前一个位置,尾指针指向当前队尾元素的位置)。
学生答案:
M-1

(R-F+M)%M

第5题
通常从四个方面评价算法的质量:_________、易读性、健壮性和高效率。
学生答案:
正确性

第6题
评价算法的优劣通常主要考虑算法的__________和__________这两方面。
学生答案:
时间复杂度

空间复杂度

第7题
算法的5个重要特性是有穷性、__________ 、 可行性、输入、__________。
学生答案:
确定性

输出

第8题
一个算法的时间复杂度为(n3+n2log2n+14n)/n2,其数量级表示为________。(填类似O(log2n)、O(n)、O(nlog2n)、O(n*n))

学生答案:
O(n)

第9题
常见的数据结构有集合、线性结构、__________结构、_________结构。
学生答案:
树形

图形

第10题
用循环链表表示的队列长度为n,若只设头指针,则出队和入队的时间复杂度分别是______和______;若只设尾指针,则出队和入队的时间复杂度分别是______和______。(填O(1) 、O(log2n) 、O(n) 、O(nlog2n)或O(n*n))
学生答案:
O(1)

O(n)

O(1)

O(1)

第14题
在循环队列中,队列长度为n ,存储位置从0到n-1编号,以rear指示实际的队尾元素,现要在此队列中插入一个新元素,新元素的位置是______________。(填rear的计算公式)
学生答案:
rear=(rear+1)%n

第15题
组成串的数据元素只能是______________。
学生答案:
字符

第16题
设主串长度为n,模式串长度为m,则KMP算法的时间复杂度为______________。
学生答案:
O(m+n)

第18题
在单链表L中,指针p所指结点有后继结点的条件是_________。(写出关系表达式)
学生答案:
p->next!=NULL
第19题
对于一个具有n个结点的单链表,在已知的结点p后插入一个新结点的时间复杂度为_________,在值为x的结点后插入一个新结点的时间复杂度为_________。(填O(1) 、O(log2n) 、O(n) 、O(nlog2n)或O(n*n))
学生答案:
O(1)

O(n)
以上的题目答案均未正确选项

以下是出问题的答案,还麻烦大佬们给个答案和解答

单项选择题
第1题
若串S=“software”,其子串的数目是( )。
37
8
9
36
第2题
双向链表中有两个指针域,prior和next分别指向前趋及后继,设p指向链表中的一个结点,现要求删去p所指结点,则正确的删除是( )(链中结点数大于2,p不是第一个结点)
delete p; p->prior->next = p->next; p->next->prior = p->prior;
p->prior->next = p->next; p->next->prior = p->prior; delete p;
p->prior->next = p->prior; delete p; p->next->prior = p->prior;
以上A,B,C都不对
第3题
一个具有1025个结点的二叉树的高h为( )
11至1025之间
10至1024之间
11
10
第4题
设某数据结构的二元组形式表示为A=(D,R),D={01,02,03,04,05,06,07,08, 09},R={r},r={,,,,,,,},则数据结构A是( )。
线性结构
物理结构
图型结构
树型结构
不定项选择题
第1题
线性表的顺序存储结构是一种( )的存储结构
顺序存取
随机存取
索引存取
散列存取
判断题
第1题
线性表采用链表存储时,结点和结点之间的存储空间可以是不连续的。
学生答案:
F
填空题
第1题
设有一个顺序循环队列中有M个存储单元,采用空一个位的方式区分队列空和满,则该循环队列中最多能够存储________个队列元素;若队首指针为F,队尾指针为R,则当前实际存储________________个队列元素(设指针F指向当前队头元素的前一个位置,尾指针指向当前队尾元素的位置)。
学生答案:
M-1

(R-F+M)%M

第2题
栈和队列都是操作受限的线性表,栈的运算遵循______________的原则,队列的运算遵循______________的原则。
学生答案:
后进先出

先进先出

第3题
后缀算式9 2 3 ± 10 2 / -的值为__________。中缀算式(3+4X)-2Y/3对应的后缀算式为_______________________________。
学生答案:
-1

34X*+2Y*3/-
第4题
字符串’ababaaab’的nextVal数组值序列为______________。(用空格分隔各数值)
学生答案:
01010421

第5题
模式串P=‘abaabcac’的next数组值序列为______________。(用空格分隔各数值)
学生答案:
01122312

第6题
顺序存储结构是通过_________表示元素之间的关系的;链式存储结构是通过_________表示元素之间的关系的。
学生答案:
物理上相邻

指针

第7题
设顺序线性表中有n个数据元素,则第i个位置上插入一个数据元素需要移动表中_______个数据元素;删除第i个位置上的数据元素需要移动表中_______个元素。
学生答案:
n-i+1

n-i

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值